🌙 Release Notes v4.6.1
⚠️ Action Required: Migrate to noctalia-qs
Starting with this release, Noctalia Shell requires noctalia-qs instead of quickshell. The shell will not work with a plain quickshell binary going forward.
noctalia-qs is our own maintained fork of Quickshell and is now the only supported runtime. This lets us ship shell-specific features, fix bugs, and keep the QML API stable without depending on upstream Quickshell releases.
Please update before or immediately after upgrading to v4.6.0. Continuing to run Noctalia with the old quickshell binary will cause breakage and is no longer supported.
⚠️ Systemd Startup No Longer Supported
The systemd service assets have been removed from the repository. Launching Noctalia via systemd is no longer a supported startup method. Please switch to launching it directly from your compositor's startup configuration (e.g. exec noctalia-qs -c noctalia-shell in your compositor config).
✨ New Features
- Dock: Indicator Customization: Indicator thickness, color, and opacity are now configurable. Frame indicator support added for all bar and dock types. Indicator aligns to the absolute edge for easier triggering, with animated position and size transitions.
- Bar: Workspace Scroll Actions: Scroll on empty bar areas to switch workspaces, with wrap-around and reverse scroll options. Niri content scrolling is also supported.
- Bar: Media Mini Side Buttons: The media mini bar widget now responds to mouse side buttons for track navigation.
- Bar: Tabular Clock Numbers: The bar clock uses the
tnumOpenType feature so digits don't shift width as time changes. - Lock Screen: Media Controls: Optional media controls can now be shown on the lock screen.
- IPC: Monitor Power: New
monitors-offandmonitors-onIPC commands to toggle display power. - IPC: Wallpaper Random Screen: The
wallpaper randomIPC command now accepts a screen argument to target a specific monitor. - Notifications: Focus on Click: Clicking a notification in the history panel now focuses the sender window.
- Control Center: Right-Click Toggle: New option to disable the "open at cursor position" behavior when right-clicking the bar.
- About: noctalia-qs Version: The About panel now shows the running
noctalia-qsversion. - Theming: Vencord Flatpak Template: Added a theming template for the Vencord Flatpak variant.
⚡ Improvements
- Idle Settings: Settings tab layout overhauled. User-defined commands can now be mixed in with built-in idle actions. Updated default values.
- NSpinBox: Enter key now confirms the value.
- Settings: Enter is now a second default keybind for confirming settings dialogs.
- System Stats: Network speed, disk space, memory, and swap now use decimal units for consistency.
🐛 Bug Fixes
- Idle: Monitors are now correctly restored when resuming from idle screen-off.
- Dock: Fixed floating dock centering with vertical bars.
- Dock: Fixed auto-close/hover edge cases and edge trigger reliability.
- Bar: Blur region now collapses correctly when the bar is auto-hidden.
- Notifications: Fixed action invocation order when dismissing a notification.
- Launcher: Item images now correctly respect
preferredGridCellRatioin grid view. - Launcher: Fixed scroll being interrupted when hovering the pin button.
- Keyboard Layout: Sway keyboard layout now updates reactively via compositor events.
- Calendar: Fixed multi-day Khal events not displaying correctly.
- Calendar: Fixed a spurious space in the header when the city name is disabled.
- Bluetooth: No longer attempts to invoke
bluetoothctlwhen it is not installed. - Workspace (Hyprland): Removed spurious "previous workspace doesn't exist" warning on a single workspace.
- Session Menu: Fixed NBox background color in regular (non-blur) mode.
- Widgets: Widget tooltips are now hidden while a panel is open.
- Custom Button: Default action is now set correctly.
Changes since v4.6.0
- release v4.6.1 (573de3b21) by Lemmy
- control-center: added a new option to disable the right click open at cursor pos. (1c3760b73) by Lemmy
- about: added noctalia-qs version display (fcd08289a) by Lemmy
- idle: updated default settings (025a49f36) by Lemmy
- mango: simplified monitor turnOff/on commands in a single call to avoid race conditions (72ac33c77) by Lemmy
- i18n (16f2adf0a) by Lysec
- Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (419c30e8c) by Lysec
- MangoService: fix idle monitor turn off/on (#2024) (eded9777f) by Lysec
- Merge pull request #2025 from notiant/patch-14 (6f95ce189) by Lemmy
- Change idle settings title & add Enter key for acceptance in NSpinBox (4025d7fb8) by notiant
- Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (cf7255b93) by Lysec
- wallpaper-random: more robust after PR 1697 (e5e12b499) by Lemmy
- sway: autofmt (7a288650b) by Lemmy
- Idle: add user defined commands to basic commands, overhaul tab layout (bad2d7dd2) by Lysec
- Merge pull request #1697 from fboulay/feature/add-option-to-choose-monitor-for-ipc-random-wallpaper (109f8109b) by Lemmy
- Merge branch 'main' into feature/add-option-to-choose-monitor-for-ipc-random-wallpaper (74a816de2) by Lemmy
- Merge pull request #833 from 3akev/main (1e56f67f8) by Lemmy
- settings db + autofmt (81d145952) by Lemmy
- Merge pull request #1889 from tibssy/feat/bar-scroll-actions (c0292d0d8) by Lemmy
- launcher-core: more accurate comment + autofmt (bb0f875b8) by Lemmy
- Merge pull request #1937 from krendil/main (95ff07fb9) by Lemmy
- Merge pull request #1955 from AlexNabokikh/main (e785c16fe) by Lemmy
- Merge branch 'main' of github.com:noctalia-dev/noctalia-shell (b562f964a) by Lemmy
- ncolorchoice: added to the search index. (e6849d924) by Lemmy
- Merge pull request #2020 from elrondforwin/main (d5c2a32db) by Lysec
- i18n-update (128b2d3b6) by Lemmy
- autofmt (2f4922f9b) by Lemmy
- Add vencord-flatpak template to TemplateRegistry (490b7ce30) by elrond
- Merge pull request #1990 from tmarti2/and-yet-another-default-settings-pass (33a7b3707) by Lemmy
- Merge pull request #1997 from tmarti2/hide-tooltip-when-opened (05ec0d4f3) by Lemmy
- Merge branch 'main' into hide-tooltip-when-opened (d8732d766) by Lemmy
- Merge pull request #2019 from PonyLucky/main (26a0791cd) by Lemmy
- Merge pull request #1966 from Pulsar33550336/main (b22277a35) by Lemmy
- Merge pull request #1989 from tmarti2/custom-button-setting-default (f63dc7f00) by Lemmy
- Merge pull request #1942 from fboulay/fix/khal-events-lasting-multiple-days (67430971f) by Lemmy
- Merge pull request #2011 from iynaix/ipc-monitors-off (64da6a3c4) by Lemmy
- Merge pull request #1984 from tibssy/fix/dock-edge-trigger-reliability (79a9c1574) by Lysec
- session-menu: fixed NBox color in regular mode (ac82e3f05) by Lemmy
- Adds an ipc command to turn monitors on / off (ddb99dce6) by Lin Xianyi
- Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (b067278a9) by Lysec
- Idle/CustomSubTab: fix root is not defined (9566cd1d7) by Lysec
- Merge pull request #2009 from iynaix/nix-noctalia-qs-overlay (ebd2cf2be) by Lemmy
- Merge pull request #2012 from iynaix/nix-wlr-randr (c8f2358cc) by Lemmy
- LockScreenBackground: adjust shadow overlay strength (0ae0b988c) by Lysec
- Merge pull request #2014 from snoopdouglas/main (cfae37f15) by Lysec
- Settings: add Enter as 2nd default keybind (5b484e271) by Lysec
- Use 'tnum' OpenType feature (tabular numbers) in bar clock widget (46c072d62) by Doug Thompson
- fix: fix hardcoded space when city name is disabled in CalendarHeaderCard.qml (74a4e000f) by Louis Margot
- KeyboardLayout: subscribe to Sway events to update keyboard layout (f2489ff1e) by Ala Alkhafaji
- MainScreen: collapse bar blur region when auto-hidden (#2004) (1fd249164) by Lysec
- IdleService: restore monitors when resuming from idle screen-off (fixes #2010) (300d12dad) by Lysec
- nix: add wlr-randr as a runtime dependency (a99483101) by Lin Xianyi
- nix: fix noctalia-qs not being included in
overlays.default(955100367) by Lin Xianyi - autofmt (5d03c56f4) by Lemmy
- bt-service: fix logic to not invoke bluetoothctl when not installed (0b905ff66) by Lemmy
- IdleService: adjust fade timing (864a0e826) by Lysec
- Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (9a2597c4e) by Lysec
- IdleService: make execution chain more streamlined (a7b558d3f) by Lysec
- fix(dock): correct floating dock centering with vertical bars (88e36ba2d) by tibssy
- i18n: add dock indicator strings across all locales (36d621ed9) by tibssy
- feat(dock): add customization settings for indicator thickness, color, and opacity (caa2464ca) by tibssy
- style(dock): adjust tooltip alignment based on side-dock position (left/right) (3d8277aea) by tibssy
- fix(dock): simplify static opening logic and resolve auto-close/hover edge issues (5d7b98eff) by tibssy
- feat(dock): align indicator to absolute edge for easier triggering; animate position and size (baaba5669) by tibssy
- feat(dock): enable frame indicator support for all bar and dock types (da18e0e6c) by tibssy
- fix(dock): move indicator outside peek window to improve edge trigger reliability (2b1016509) by tibssy
- Merge pull request #1834 from whiskeyPeak/fix-launcher-scrolling-interrupt (cb9d6c3e2) by Lysec
- i18n (9596db0b3) by Lysec
- Merge pull request #1814 from CLEMENTINATOR/media-controls-on-lock-screen-option (4c10a764f) by Lysec
- Merge pull request #2000 from notiant/patch-12 (ad226c7dd) by Lysec
- proper format for memory and swap (b6ad89abd) by notiant
- adjust maxSpeeds to decimal (47f822abd) by notiant
- use decimal units for network speed (3cd3c92ed) by notiant
- use decimal units for disk space (0b6495b60) by notiant
- cleanup: deleted old blur test via ext. plugin (3bc578526) by Lemmy
- Bumping version to v4.6.1 and restored blur. (f76a14462) by Lemmy
- Do not display widget tooltips if the panel is open (1d99d1994) by Thibault Martin
- Add default setting action on CustomButton (6c9c802f8) by Thibault Martin
- Clean and default settings in desktop widgets (eaa467c0d) by Thibault Martin
- Populate default settings in widgets (4f106a762) by Thibault Martin
- Merge branch 'main' into fix-launcher-scrolling-interrupt (cdf8bb85c) by Henry Riehl
- review (e751ba744) by Henry Riehl
- Merge remote-tracking branch 'upstream/main' (43f2ac273) by Krendil
- feat(Bar/MediaMini): add mouse side button control (acb84b36a) by Pulsar33550336
- fix(notifications): reordering root.close and invokeAction (4227ca71f) by Alexander Nabokikh
- feat(notifications): focus sender window on click in notification history (0fad4c5f1) by Alexander Nabokikh
- Fix: Khal event lasting multiple days (1e7db6c32) by Florian Boulay
- fix(Launcher): Allow item images to take advantage of preferredGridCellRatio (288b2e0a1) by Krendil
- fix(workspace): 'Previous workspace doesn't exist' warning on hyprland single workspace (927edbaeb) by tibssy
- feat(bar-scroll-actions): add wrap-around option for bar mouse wheel workspace scrolling (948c3f2e7) by tibssy
- feat(bar-scroll-actions): add reverse scroll setting for bar mouse wheel actions (9c3d8434e) by tibssy
- feat(bar-scroll-actions): implement Niri content scrolling for mouse wheel action (6a16e4329) by tibssy
- feat(bar-scroll-actions): refactor mouse wheel action setting to use a combobox (41c383d89) by tibssy
- feat(bar-scroll-actions) implement workspace switching by scrolling on empty bar areas (8032978b2) by tibssy
- feat(bar-scroll-actions) prepare bar settings UI for workspace scroll toggle. (52e720d54) by tibssy
- lock screen: add option for media controls (d64f58a5b) by Clement Bouvet
- fix launcher scrolling pin button interrupt (3ba93cdb7) by Henry Riehl
- Add screen argument to IPC wallpaper random (107ea5698) by Florian Boulay