Skip to content

App Sidebar

Ed Mozley edited this page Oct 18, 2026 · 2 revisions

🧭 The sidebar

An optional rail of module icons down the left of every screen, for anybody who would rather see their modules than open the waffle menu each time (discussion #124). The waffle menu stays exactly where it is either way.


Turning it on

Preferences β†’ Display β†’ Sidebar (or the βš™ sliders button at the bottom of the sidebar itself).

  1. Switch on Show the sidebar.
  2. Tick the modules you want on it. Only modules you can open are offered.

It appears from the next page you open. It is off until you switch it on, and it is yours alone - nobody else's screen changes.


What is on it

  • Your modules, in your module order - the same order as your waffle menu, set just above on the same tab under Module order. Reorder there and the sidebar follows.
  • The module you are in is highlighted, with a bar at its left edge.
  • Hover an icon for its name.
  • πŸ•˜ Recent at the bottom opens the waffle's Recent trail - everything you have opened lately, grouped by module, with its own search.
  • βš™ the sliders button takes you straight to the sidebar's settings.

A module you lose access to drops off the sidebar on its own, and one you gain appears in the tick list.


On a phone

The sidebar is not shown on a phone; the phone keeps its compact menu, and its screens do not move.


For developers

  • includes/app_sidebar.php - appSidebarPrefs() (one query, per request), appSidebarModules() (the modules from analystVisibleModules(), narrowed to the ticked ones) and renderAppSidebar().
  • It is drawn by renderWaffleMenuPanel() in includes/waffle-menu.php, which every analyst header already calls - so a new module or a new page needs nothing to have it.
  • assets/css/app-sidebar.css, linked by the sidebar itself only when it is on. Desktop only (min-width: 769px); body:has(.app-sidebar) moves the page right 54px. TRAP: anything pinned to the window's left edge with position: fixed; left: 0 lies under the rail - Files' desktop, taskbar and start menu are moved over by hand in that file. A new full-window layer needs the same.
  • Preferences: app_sidebar ('1' = on) and app_sidebar_modules (a JSON list of module keys; absent = every module), both in user_preferences - no schema change.
  • The order is module_order (Display order - Developer Guide); the sidebar never stores an order of its own, so it can never disagree with the waffle.

See also

FreeITSM

Getting Started

Modules

Multi-tenancy (planned)

Blue sky thinking

Bugs resolved

Links

Clone this wiki locally