Skip to content

Sidebar Dashboard

Scrimas edited this page Sep 15, 2026 · 5 revisions

Sidebar Dashboard

The Sidebar Dashboard is the shell's control center: system toggles, notifications, quick sliders and productivity widgets in one Material 3 surface, a single keypress away. If the Bar is where you glance, the Dashboard is where you act.

It's built from four independent sections, top to bottom:

  1. Header — your profile, greeting and quick identity info
  2. Quick Settings — toggles and sliders, in Classic or Android flavor
  3. Notifications — the integrated notification list
  4. Bottom widgets — Calendar, To Do, Timer and Notes pages

Each section loads and updates on its own, so the Dashboard never behaves like one monolithic panel.


How to use it

Open it with Super + N. Click anywhere outside (or press Esc) to dismiss it. If you prefer the mouse, the screen corner can be turned into a trigger — see Screen corner activation below.

The small button row in the header gives you, left to right: edit quick toggles (pencil — Android layout only), reload Hyprland & Quickshell, Settings, and the session menu (lock / suspend / power off).

Common tasks

  • Connect to Wi-Fi — open the Wi-Fi toggle's expanded view (the arrow/dialog part of the tile): a network list appears inside the Dashboard, with connect, disconnect and password entry right there.
  • Pair Bluetooth — same idea: expand the Bluetooth toggle for device management, pairing and battery levels.
  • Switch Quick Settings layout — Settings (Super + I) → Sidebars → Quick Toggle style: Classic or Android.
  • Rearrange your toggles (Android layout) — click the pencil in the header. In Edit Mode: left-click a tile to enable/disable it, drag its icon to move it (across pages too), drag the handles to resize, and use the page controls to add or delete pages. Click the pencil again to finish.
  • Add a task — the To Do page at the bottom; if TickTick is connected it syncs to your phone within moments (setup steps below).
  • Start a timer — the Timer page; a running timer follows you into the Dynamic Island.

Opening and positioning

The Dashboard is a Wayland panel that can live on either side of the screen:

Position Behavior
Default The standard control-sidebar side
Inverted The opposite side
Left / Right Forced to a specific side

A Keep sidebar loaded option trades a little memory for instant opening; the left sidebar has a matching switch (on by default), so it reopens where you left it instead of rebuilding from scratch. And when a system dialog opens inside the Dashboard (more below), the interface transitions to spotlight it rather than stacking a popup on top.

Screen corner activation

The screen edge can act as a Dashboard trigger. Options include: opening from the corner (optionally on hover alone, without a click), requiring the absolute corner or a wider activation region (configurable width and height), moving the region to the bottom, a vertical offset, a visualization overlay so you can see exactly where the hot zone is — and value scrolling, where scrolling on the corner region adjusts volume or brightness directly.


Quick Settings

Two layouts are available in Settings → Sidebars:

  • Classic — the traditional ii toggle rows
  • Android — a paged, swipeable Quick Settings grid straight out of a Material phone

The Android panel

The Android layout is a proper grid system: configurable column count, multiple horizontally-swipeable pages, and per-toggle sizes (a toggle can span half a row, a full row, or be a slider strip). Panel height adapts to the current page's content.

Edit Mode turns the grid into a little layout editor — add and delete pages, reorder toggles, move them between pages, and resize — with the bottom widgets politely collapsing to give you room while editing. Optional three-state capsule controls (off / on / open-dialog) pack more function into each tile.

Frequently-used sliders — brightness, gamma, volume, microphone — can either live inside the pages or stay fixed above the paged area so they're always reachable. A vertical slider orientation is also available.

The toggle catalog

The set of available Quick Toggles is genuinely large. System basics: Wi-Fi/Network, Bluetooth, Audio output, Microphone, Volume/Brightness/Gamma/Mic sliders, Power Profile, Notifications/Do-Not-Disturb (plus an automatic DND mode), System Sounds. Display & comfort: Dark Mode, Night Light, Anti-Flashbang, Screen Shader, Keyboard Backlight. Networking & privacy: VPN, Tailscale, DNS over TLS, Cloudflare WARP, LocalSend. Tools: Screen Snip, Screen Record, Color Picker, Music Recognition, Video Editor, On-Screen Keyboard, Media Widget, EasyEffects, Game Mode, Keep Awake (idle inhibitor), Notes, and Soundcore ANC control for compatible earbuds.

Added in September:

  • KDE Connect — the service as a toggle, with the connected device and its battery on the tile and a dialog behind it. See Phone Integration.
  • Laptop Keyboard — disables the built-in laptop keyboard (handy with an external one on top of it). It is incompatible with the keyd daemon: while keyd is active the tile says so and the change only takes effect once keyd is stopped.

Families and motion

  • One layout per family — the desktop sidebar is 460 px wide and the tablet family's shade is the whole screen, so each keeps its own Android grid (sidebar.quickToggles.androidTablet for the tablet). A family that has never been edited borrows the desktop's arrangement until its first edit.
  • Dashboard entrance animations (Settings → Sidebars, Config.options.sidebar.dashboardEntranceAnimations) turns on entrance animations for the Dashboard's sections; off by default.

Inline system dialogs

Toggles with depth expand into full dialogs inside the Dashboard — no separate windows:

  • Wi-Fi — network list, connect/disconnect, password entry
  • Bluetooth — device management, battery levels, connect/pair
  • Audio — output/input device selection and volume mixer
  • VPN / Tailscale / DNS over TLS — connection state and configuration
  • Night Light / Dark Mode / Screen Shader / Keep Awake / LocalSend — their expanded controls

Notifications

The center of the Dashboard is the notification list — it occupies the flexible space between Quick Settings and the bottom widgets, so your notifications live in the same surface as your controls instead of a separate notification center. See Notifications for grouping, actions and history behavior.


Calendar, To Do, Timer and Notes

The bottom section hosts up to four pages. The selected page is remembered across sessions, you can cycle them with Ctrl + Page Up / Ctrl + Page Down, and the whole section collapses into a compact row showing the date and remaining tasks when you want the notification list to breathe.

Calendar

The integrated calendar interface with date information and upcoming events.

To Do

More than a local task list — it's a full task manager that can operate standalone or as a frontend for TickTick or Google Tasks (Config.options.todo.provider: local, ticktick or googleTasks). Tasks are split into Unfinished and Done; entries with due dates float to the top.

The September rework added a proper new-task sheet — title, due date (Today, Tomorrow, No date or a date), priority (Low, Medium, High), tags and free-form notes.

TickTick sync. With the TickTick Open API configured, the widget switches from local storage to your TickTick Inbox. Creating, completing, deleting and refreshing tasks all sync — so a task added from the sidebar shows up on your phone moments later. The service also refreshes itself every few minutes.

A cloud indicator in the widget shows the sync state (connected / syncing / not configured), doubles as a manual refresh button, and — if TickTick isn't set up yet — clicking it takes you straight to the right Settings page.

To connect TickTick:

  1. Open Settings (Super + I) → Accounts & Backup.
  2. Follow the link to the TickTick Developer Center and register an app to get a Client ID and Secret.
  3. Paste both into the TickTick fields, then click authorize — your browser opens for the OAuth grant, and the token is generated for you.
  4. Back in the Dashboard, the cloud indicator on the To Do widget turns to connected.

Credentials are stored securely in the GNOME Keyring (with .env as a legacy fallback) — never in config.json, and never included in exported presets.

And TickTick is entirely optional: with no credentials, the same interface quietly uses local task storage.

Timer

Three tabs: the Pomodoro (with custom durations), a stopwatch, and a countdown. Running timers also surface in the Dynamic Island and keep counting wherever you are.

Notes

A tab for the Notes app's store — a quick way to read and jot without opening the full window. Settings → Sidebars → Notes tab in dashboard turns it off.


The banner

Settings → User Profile → Right Sidebar Banner → Enable sidebar banner (also linked from the Sidebars page) puts a banner across the top of the Dashboard — the wallpaper by default, or a Custom banner image.

The sidebar header's avatar can also take a shape of its own, separate from the one used elsewhere.


Material You integration

The Dashboard uses the same Appearance system as everything else: surfaces, colors, typography and motion all follow the active Material palette, and when expressive bar colors are enabled the Dashboard can adopt the selected expressive theme too. It never looks like a guest on your desktop.


Configuration

Settings → Sidebars — position, keep-loaded, Quick Toggle style, Android grid columns, three-state capsules, fixed sliders (brightness/gamma/volume/mic), slider orientation, and the screen-corner activation block.

Settings → User Profile — profile picture, custom name and greeting, avatar shape and color, plus what the Dashboard header shows: profile image type (user profile / distro icon / none) and header text (username / uptime / custom / none).

Persistent options live under Config.options.sidebar.


Under the hood

The implementation lives in modules/ii/sidebarDashboard/:

File Role
SidebarDashboard.qml The Wayland panel window: positioning, keyboard focus, dismissal, content lifecycle
SidebarDashboardContent.qml Coordinates header, Quick Toggles, notifications, bottom widgets and the inline dialogs
quickToggles/AndroidQuickPanel.qml + androidStyle/ The Android Quick Settings system: grid, pages, edit mode, per-toggle components (Android*Toggle.qml), catalog and layout logic
quickToggles/ClassicQuickPanel.qml + classicStyle/ The classic layout
CenterWidgetGroup.qml Hosts the notification list
BottomWidgetGroup.qml Calendar / To Do / Timer / Notes tabs, persistence, collapse state, keyboard navigation
modules/common/dashboardWidgets/ The bottom widgets themselves (todo/ with the task list and the new-task sheet, timers, the Notes tab) — shared across families
modules/common/quickToggles/ + modules/common/models/quickToggles/ The toggle catalogue, the Android and classic styles and their edit controller — shared across families
wifiNetworks/, bluetoothDevices/, volumeMixer/, vpn/, tailscale/, dnsOverTls/, nightLight/, darkMode/, screenShader/, idleInhibitor/, localSend/ The inline dialog implementations

The toggles don't own any system logic themselves — they talk to the shared services (Network, BluetoothStatus, Audio, VpnService, TailscaleService, DnsOverTls, LocalSend, Hyprsunset, Idle, …), which is why the same state shows up consistently in the Bar, the Dynamic Island and here. See System Integration.


Related pages

← Back to Home

Clone this wiki locally