Control Center
The Control Center is Noctalia’s panel for session controls, system status, media, notifications, weather, and service-specific tools. Open it from the control-center bar widget, by right-clicking empty space on a bar, or with IPC:
noctalia msg panel-toggle control-centerPass a context to jump straight to a tab:
noctalia msg panel-toggle control-center audionoctalia msg panel-open control-center systemSidebar
Section titled “Sidebar”Set sidebar under [control_center] for tab navigation when Control Center opens on Home (control center widget, bar background click, or noctalia msg panel-toggle control-center with no tab name). Use "full" for icons and labels, "compact" for icon-only tabs, or "none" to hide the sidebar.
Set sidebar_section for opens that jump straight to a tab (volume, network, and media bar widgets, or noctalia msg panel-toggle control-center audio).
Keyboard navigation uses the global [keybinds] actions: tab_next / tab_previous switch between the sidebar and the active tab body; arrow keys move within the focused pane.
[control_center]sidebar = "compact"# sidebar_section = "compact" # optional; defaults to the same as sidebar# width = 700 # full-sidebar width in pixels (600–1200)# show_shortcut_labels = true # text under Home shortcut icons# show_session_button = true # session-actions button in the Home header# circular_avatar = true # disable to follow shell corner roundness# show_avatar_border = true # disable to hide the accent ring around the avatar# hidden_tabs = ["monitor", "weather"] # hide tabs you never use| Option | Type | Default | Description |
|---|---|---|---|
sidebar | string | "compact" | Sidebar on Home / general open: "full", "compact", or "none" |
sidebar_section | string | "compact" | Sidebar when opening straight to a tab: "full", "compact", or "none" |
width | int | 700 | Control Center width in pixels (600–1200). This is the full-sidebar width; the compact and no-sidebar modes scale down from it. |
show_shortcut_labels | bool | true | Show text labels under Home shortcut icons. When false, shortcuts are icon-only and glyphs scale with cell size. |
show_session_button | bool | true | Show the session-actions button in the Home tab header. |
circular_avatar | bool | true | Keep the Home avatar circular. When false, the avatar follows the shell’s corner roundness. |
show_avatar_border | bool | true | Show the accent ring around the Home tab avatar. When false, the avatar has no ring, including on hover and keyboard focus. |
hidden_tabs | array | [] | Tab context IDs to hide from the Control Center. Empty shows every available tab. Editable from Settings → Control Center. The Home tab cannot be hidden. |
Sidebar Tabs
Section titled “Sidebar Tabs”Use these context IDs with noctalia msg panel-toggle control-center <context> or noctalia msg panel-open control-center <context> to open a specific tab.
| Context | Tab | What it shows |
|---|---|---|
home | Home | User card, media summary, date/time, weather summary, and shortcut buttons |
media | Media | MPRIS players, playback controls, queue-style player switching, and artwork |
audio | Audio | Output/input volume, mute controls, devices, streams, and media-related audio controls |
monitor | Monitor | Brightness controls for displays that expose writable backlight devices |
system | System | Distro/kernel, hardware summary, uptime, CPU/RAM/GPU/network graphs, and resource details |
network | Network | Wi-Fi state, connection status, cellular controls, known wireless controls, and NetworkManager-backed actions |
bluetooth | Bluetooth | Adapter power, discoverability, paired devices, connection controls, and pairing flows |
weather | Weather | Current conditions, forecast, location status, and weather service diagnostics |
calendar | Calendar | Month view and configured calendar account events |
notifications | Notifications | Notification history, Do Not Disturb, and notification cleanup controls |
screen-time | Screen Time | Foreground app usage totals and charts for today, three days, or fourteen days |
power | Power | Battery charge and status, power profiles, battery health, and connected-device battery levels |
weather, system, and screen-time open only when their corresponding services are enabled; power opens only when UPower or power-profiles-daemon is available. Otherwise Noctalia falls back to the first visible tab.
Any tab except Home can also be hidden manually with hidden_tabs (use the context ID, e.g. "monitor" for the brightness tab). Hidden tabs drop from both the sidebar and keyboard navigation, and from the launcher’s Panels provider.
Every available tab except Home that isn’t hidden also gets its own row in the launcher’s Panels provider (/pan), so you can jump straight to, say, Bluetooth without landing on Home first. Home remains available through the main Control Center row.
The Home tab is the default Control Center landing view. It combines frequently checked status with a compact shortcut grid.
The user card automatically prefers a landscape wallpaper image from the connected monitors. If none is landscape, it uses the first available image.
Click the avatar in the user card to pick a custom image. Noctalia saves the selected path as [shell].avatar_path.
The avatar is circular by default. Disable Circular Avatar under Settings → Control Center → Home, or set [control_center].circular_avatar = false, to use the shell’s corner roundness. With shell corner roundness set to zero, the avatar has square corners.
The avatar carries an accent-colored ring by default. Disable Show Avatar Border under Settings → Control Center → Home, or set [control_center].show_avatar_border = false, for a borderless avatar. This also removes the ring shown on hover and keyboard focus.
When AccountsService is available, Noctalia also writes the selected avatar to org.freedesktop.Accounts as your user’s IconFile. That is what Noctalia Greeter reads for the login user list. On distros where this is not enabled by default, install and enable accountsservice (usually the accounts-daemon service) if you want the same avatar in both the shell and the greeter.
Click the date/time card to open the Weather tab. When [weather].enabled = false, the card hides its weather summary line and opens the Calendar tab instead.
The shortcut buttons are configured separately; see Control Center shortcuts.
Set show_session_button = false under [control_center] to hide the session-actions button in the Home tab header. This does not affect Home shortcuts configured with type = "session" or session widgets on the bar.
The Media tab shows active MPRIS players and exposes playback controls independent of any bar media widget. It is useful when multiple players are running or when artwork and track metadata need more room than a bar capsule can provide.
[control_center.media] configures how the tab is drawn:
[control_center.media]show_visualizer = true| Option | Type | Default | Description |
|---|---|---|---|
show_visualizer | bool | true | Show the PipeWire audio visualizer beside the playback controls. Also toggled from the visualizer button in the tab header. |
The Audio tab groups PipeWire output, input, device, and stream controls. Use it for volume changes, muting, selecting devices, and inspecting application streams without opening an external mixer.
Monitor
Section titled “Monitor”The Monitor tab exposes brightness controls when Noctalia has a controllable backlight for the display. If no writable brightness device is available, the tab remains available but has no write controls to expose.
System
Section titled “System”The System tab summarizes the machine and live resource usage. It shows distribution/kernel details, board/CPU/GPU information, uptime, install age, load averages, memory and swap, and graphs driven by the shared system monitor service.
System monitor sampling is configured globally under [system.monitor]; see System monitor.
Network
Section titled “Network”The Network tab uses the configured network backend to show wireless state and connection details. It is the destination for Wi-Fi shortcuts and network-related right-click actions.
NetworkManager is preferred and followed on the system bus: when it starts after the shell or restarts, the tab picks it up, and while it is stopped the tab shows the network as unavailable. A standalone wpa_supplicant or iwd backend is used only when one of them is running at startup and NetworkManager is not.
The current connection line lists the IPv4 address, signal strength, radio band, and external IP. The band (2.4 GHz, 5 GHz, 6 GHz, or 60 GHz) is shown only when the backend reports the connection frequency. NetworkManager and wpa_supplicant report it; iwd reports it when Station diagnostics provide a positive frequency.
Clicking a secured network you have not joined, or a password request from the backend while the tab is open, shows a password prompt above the network list and focuses its first text field, so you can type right away. The eye button shows the password as plain text; copy and cut stay blocked while it is visible.
On the NetworkManager backend, a Wi-Fi connection that fails shows a notification naming the network and the reason when NetworkManager reports one: rejected or missing password, network out of range, no response, no IP address, or the request was not authorized. Cancelling a connection or switching to another network does not notify. An authorization failure usually means NetworkManager needed a polkit prompt and no agent answered it; see the FAQ.
Enterprise Wi-Fi (802.1X)
Section titled “Enterprise Wi-Fi (802.1X)”Clicking a WPA2/WPA3-Enterprise network opens a credential form instead of the pre-shared-key field: EAP method (PEAP or TTLS), inner authentication, identity, anonymous identity, server domain suffix, and CA certificate path. The password field below the form is the one used for the EAP login.
PEAP accepts MSCHAPv2 only, so the inner dropdown is pinned and disabled while PEAP is selected; TTLS also allows PAP, MSCHAP, and CHAP. Leaving the CA certificate path empty trusts the system CA store; a path must be absolute and pins that file instead of the system store. The server domain suffix is the RADIUS server name suffix your organization publishes, and is optional.
Enterprise networks are recognized on the NetworkManager backend only; the wpa_supplicant and iwd backends still show the pre-shared-key prompt for them, which an 802.1X network cannot accept. Certificate-based EAP-TLS, including WPA3-Enterprise 192-bit, is not supported: the form says so instead of writing a profile NetworkManager would reject. Use nmcli or another NetworkManager front end for those networks.
Cellular
Section titled “Cellular”When ModemManager reports a modem, the Network tab adds a Cellular card with a mobile-data switch and one row per modem showing its operator (or hardware name), state, access technology (5G, LTE, HSPA+, …), and signal percentage. The card disappears again when ModemManager stops or the modem is unplugged.
The switch follows GNOME’s mobile-data semantics: with a saved NetworkManager gsm profile it turns the data connection on and off and leaves the modem registered on the network; with no such profile it powers the modem radio itself. Turning it on can take several seconds while the modem enables, searches, and registers, and the switch holds the requested position until the change lands.
Cellular needs ModemManager running (org.freedesktop.ModemManager1) and, for mobile data, a gsm connection profile created with nmcli or another NetworkManager front end. Noctalia does not create or edit cellular profiles.
Bluetooth
Section titled “Bluetooth”The Bluetooth tab shows adapter power state, paired devices, and connection controls. It is backed by Noctalia’s Bluetooth service and agent. Devices paired from the tab are marked trusted, which turns on Auto-reconnect for them.
When a device asks for access to a service, the prompt names the service (for example, Audio Sink or Hands-Free) instead of showing its raw UUID. Accept allows that one request. Trust and allow also marks the device as trusted, so BlueZ grants its future service requests without prompting and Auto-reconnect turns on; turn off Auto-reconnect to revoke that trust.
By default Noctalia does not dial out to devices: BlueZ and the devices handle reconnection, and most trusted headsets, keyboards, and mice reconnect on their own. For devices that wait for the computer to connect, set connect_when_enabled = true. When Bluetooth turns on (toggled on, at startup, or after resume), Noctalia then connects each paired, trusted device that is not already connected, once and one device at a time. A device that is switched off holds the queue until its connection attempt times out (several seconds), so leave this off if several trusted devices are usually off:
[bluetooth]connect_when_enabled = trueNoctalia shows a notification when a Bluetooth device connects or disconnects without you acting on it in Noctalia, for example a headset you switch on, a device going out of range, or the auto-reconnect pass above. Connecting, disconnecting, pairing, or forgetting a device from the Bluetooth tab stays silent, except that a connect you start which fails shows an error. Turning Bluetooth off does not notify for each device it drops, and devices that were already connected when Noctalia started never trigger one. Set [bluetooth] connection_notifications = false to turn these notifications off.
Weather
Section titled “Weather”The Weather tab expands the Home weather summary into current conditions, forecast detail, and location/status information. It is hidden when [weather].enabled = false.
Weather configuration is documented under Weather.
Calendar
Section titled “Calendar”The Calendar tab shows the month view and events from configured calendar accounts. Calendar accounts and sync behavior are documented under Calendar.
Right-click a day to launch the application registered for the text/calendar MIME type. The Calendar panel closes after a successful launch.
[control_center.calendar] holds how the tab is drawn; [calendar] holds whether events are synced and the shared event date and time formats.
[control_center.calendar]show_events_card = trueshow_week_numbers = false # ISO 8601 week numbers in the month gridhide_past_events = false # hide today's finished events from the event listpast_events_threshold_minutes = 30| Option | Type | Default | Description |
|---|---|---|---|
show_events_card | bool | true | Show the event list beside the month grid. Also toggled from the calendar button in the tab header. |
show_week_numbers | bool | false | Show a column of ISO 8601 week numbers to the left of the month grid, separated from it by a divider. Each row is numbered by the week its Thursday falls in. |
hide_past_events | bool | false | Hide today’s events that have already ended from the event list. When false, every event of the day is shown and finished ones are dimmed. Other days are not affected. The desktop calendar widget follows this option too. While events are hidden, a Show N past events row at the top of the list reveals them; click it again to hide them. |
past_events_threshold_minutes | int | 30 | With hide_past_events on, an event stays visible for this many minutes after it ends (0–1440). 0 hides it as soon as it ends. |
The shared event_date_format and event_time_format options are documented under Calendar. Week numbers are a decoration of the month grid, so they work with [calendar].enabled = false and no accounts configured.
Notifications
Section titled “Notifications”The Notifications tab shows notification history and notification actions, including Do Not Disturb. Notification daemon and history behavior are documented under Notifications.
Screen Time
Section titled “Screen Time”The Screen Time tab shows how long each application was in the foreground today. Noctalia tracks focus using the active zwlr_foreign_toplevel window, pauses tracking while its session lock is active, and stores daily totals under $XDG_STATE_HOME/noctalia/screen_time.json (about 14 days retained).
- Range toggle: today (hourly chart), last 3 days, or last 14 days (daily bars)
- Total time for the selected range, with a stacked bar chart (hourly or per-day)
- Chart legend as a horizontal row under the chart (chart colors only; app list uses neutral bars)
- Most used apps with icons, usage bars, and duration for the selected range
Open it from the control center sidebar (screen-time context) or add a Home shortcut with type = "screen_time".
Reset stored history from Settings → System → Screen Time → Reset Screen Time Data (clears screen_time.json while Noctalia is running).
The Power tab consolidates battery and power-management status, backed by UPower and power-profiles-daemon:
- Battery - charge percentage, charging/discharging state, time remaining (or time until full), and current draw in watts
- Power Profile - a selector for the profiles your machine exposes (power-saver, balanced, performance); switching here is equivalent to the Home shortcut and bar widget
- Battery Health - current full-charge capacity as a percentage of the original design capacity
- Connected Devices - battery levels for peripherals such as Bluetooth mice, keyboards, and headsets
Sections appear only when their data is available: the battery and health sections require a system battery, the profile selector requires power-profiles-daemon, and the connected-devices section appears when peripherals report a battery. The tab itself is hidden on systems where neither UPower nor power-profiles-daemon is running.
Related IPC
Section titled “Related IPC”For opening Control Center from scripts or keybinds, see Surfaces -> Panels.