Skip to content

Releases: noctalia-dev/noctalia-shell

v4.7.6

15 Apr 07:59
d85ad41

Choose a tag to compare

🌙 Release Notes v4.7.6

Highlights: Custom button widget overhaul, Nix config hot-reload, brightness fixes, and notification improvements.

✨ Features

  • Starship Template: Added a Starship prompt template to the theming system, including distinct MD3 surface shade tokens.
  • KDE Theming: Added rgb(a)_csv color format support in the template processor and KColorScheme integration.
  • Noctalia Performance Mode: Enforced 100% opacity for improved resource usage.

⚡ Improvements

  • Custom Button Settings: Reorganized settings into a tabbed layout for clarity. Many quality of life improvements
  • Icon Position Labels: Labels now adapt dynamically based on bar orientation (horizontal/vertical).
  • NScrollText: Marquee now steps on a timer instead of running as an infinite animation, reducing unnecessary repaints.
  • Romanian Translation: Added Romanian locale and updated existing translations.

🐛 Bug Fixes

  • Nix Config Reload: Settings and colors now correctly detect and apply atomic Nix-managed config replacements without requiring a restart.
  • Notifications: Missing theme icons now show a fallback icon instead of a checkerboard pattern.
  • Brightness: Fixed a regression with minimum brightness enforcement; minimum value now only applies when using DDC.
  • GTK Refresh: Fixed GTK theme not refreshing correctly.
  • Audio: Fixed sticky app-stream volume and added a subtitle line in the audio panel.
  • Keybinds: Fixed ctrl+punctuation shortcuts not being recognized in the recorder.
  • Bar Widget i18n: Added a missing translation string for the bar widget.
  • CI: Fixed the update-flake workflow not triggering on non-main repositories.
  • Theming: Theme writes and hooks are now skipped when a wallpaper change produces no diff.
  • Kitty Terminal: Ensured live config reload triggers correctly after theme regeneration.
  • Colorscheme Settings: Escaped the downloadUrl field to prevent potential injection issues.

Changes since v4.7.5

  • Release v4.7.6 (d85ad414b) by Lysec
  • chore(flake): update flake.lock (e56a9db57) by Ly-sec
  • Merge pull request #2450 from namelessmonarch0/fix-starship-config-path (cba5bab3d) by Lysec
  • fix(theming): check nested starship config path before fallback (e8418c3d3) by Nameless Monarch
  • Merge pull request #2441 from D3rJust1n/main (95f56e1f6) by Lysec
  • fix (ci/update-flake): Fix that workflow isn't triggered if it's not the main repository (95aea1a62) by D3rJust1n
  • chore(flake): update flake.lock (40dd5f54a) by Ly-sec
  • Merge pull request #2432 from adriamartin91/fix/notification-missing-icon (42637c6ff) by Lysec
  • chore: remove verbose comment (375dfafb5) by Adria Martin
  • feat(perf): enforce 100% opacity in noctalia performance mode (5f45191d7) by Lysec
  • fix(notifications): show fallback icon instead of checkerboard for missing theme icons (093f3632d) by Adria Martin
  • fix(i18n): add missing bar widget translation string (e85ce902c) by Lysec
  • Revert "fix(media): gate spectrum pipeline on playback to cut idle CPU" (0fcaa4987) by Lemmy
  • Merge pull request #2425 from spiros132/main (087f75376) by Lysec
  • fix(Brightness): Now it should only have a minimum value if it's using ddc (034b4adb3) by Spyridon Siarapis
  • Merge branch 'noctalia-dev:main' into main (ea80510ad) by Spyridon Siarapis
  • fix(Brightness): Simplified the code to use existing functionality, also fixed a bug with enforcing the minimum brightness (58d5c3ad5) by Spyridon Siarapis
  • Merge pull request #2422 from adriamartin91/feat/starship-template (5d03bf3f0) by Lysec
  • Merge pull request #2421 from ern775/fix-min-brightness (f3ed6d0a2) by Lysec
  • fix: use distinct MD3 tokens for surface shades in Starship template (b9745c375) by Adria Martin
  • feat: add Starship prompt template (5cf22040b) by Adria Martin
  • fix(brightness): revert min brightness regression (a44f11267) by ern775
  • fix(theming): skip theme writes and hooks when wallpaper change produces no diff (48fe0f91a) by Lysec
  • Merge pull request #2411 from lonerOrz/cc-icon (b8de6e1df) by Lysec
  • Merge pull request #2417 from ern775/change-enforce-min (bec97262e) by Lysec
  • feat(brightness): change enforce minimum brightness method (15873d481) by ern775
  • Merge pull request #2414 from notiant/patch-9 (91d0bb83a) by Lysec
  • chore(flake): update flake.lock (57cdcb7ad) by Ly-sec
  • update I18n.qml (4e99e5db9) by notiant
  • update date formats for lock screen (747b4aa71) by notiant
  • NComboBox: remove hover animation (b0bb684be) by notiant
  • fix(config): handle nix-style atomic config replacements for settings and colors (40e98f1ad) by Lysec
  • Revert "fix(settings): detect nix-managed settings updates without restart" (c39532042) by Lysec
  • fix(settings): detect nix-managed settings updates without restart (353b07380) by Lysec
  • Revert "fix(settings): reload settings after nix-managed config file replacements" (1f9096a46) by Lysec
  • fix(settings): reload settings after nix-managed config file replacements (17b157d1b) by Lysec
  • refactor(settings): organize CustomButton settings into tabbed layout (9d4fad0b2) by loner
  • feat(bar): add context menu for CustomButton right-click (cfc96dd3e) by loner
  • fix(settings): resolve barIsVertical property assignment conflict (b8a7c2f77) by loner
  • refactor(bar): remove enableColorization toggle from CustomButton (5c3b3a218) by loner
  • feat(ui): add separate icon and text colorization for CustomButton (f21e8fb82) by loner
  • fix(ui): improve CustomButton settings visibility logic (55c7f344b) by loner
  • fix(ui): adapt icon position labels based on bar orientation (b6a85d88e) by loner
  • refactor(bar): add iconPosition fallback to oppositeDirection ([36a9d7a...
Read more

v4.7.5

02 Apr 22:31

Choose a tag to compare

Release v4.7.5

Changes since v4.7.4

  • Release v4.7.5 (8b0c7c288) by Lemmy
  • chore(i18n): update all (0380b0998) by Lemmy
  • fix(location): autolocate off by default for privacy, improved UI when no location is set. Fix #2388 (621c798c8) by Lemmy
  • chore(i18n): hu (876e0ffb4) by Lemmy
  • fix(weather): read is_day from service instead of requiring callers to pass it. (08e2d7f71) by Lemmy
  • fix(location): more logging and potential fix (cd4ec47e9) by Lemmy
  • chore(version): bumping to v4.7.5-git (41b29998f) by Lysec

v4.7.4

02 Apr 18:13
791b3ac

Choose a tag to compare

Release v4.7.4

Changes since v4.7.3

  • Release v4.7.4 (791b3ac15) by Lysec
  • Merge pull request #2381 from kermeat/dock_fix (633454dd4) by Lysec
  • fix(audioservice): another Qt-11 warning fix (411a820f3) by Lemmy
  • fix(settings): dont rely on Qt.btoa to generate default settings dump. (529ad588c) by Lemmy
  • chore(i18n): update hu (d1bd3d388) by Lemmy
  • fix(nreordercheckboxes): don't shadow QQuickItem.enabled (94a918ba2) by Lemmy
  • fix(audioservice): switch from PwNode to var for sink and source so it's nullable. (c4b8b912f) by Lemmy
  • fix(location): fix weather fetching (6fcfc0c1d) by Lemmy
  • chore(i18n) (68f6f1f0a) by Lysec
  • feat(location): add toggle to always show Talia weather emojis (f301a5713) by Lysec
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (240312ea4) by Lysec
  • fix(theming): always sync prefer-light/dark with system theme toggle (ed117eb94) by Lysec
  • chore(flake): update flake.lock (75d67b321) by Ly-sec
  • chore(version): bumping to v4.7.4-git (25a5eede0) by Lysec
  • Update dock on window list change (d9faff679) by kermeat

v4.7.3

02 Apr 01:01
4af6074

Choose a tag to compare

🌙 Release Notes v4.7.3

Highlights: Automatic location detection, workspace app preview fixes, and stability hardening.

✨ Features

  • Auto Location via IP: Weather and location services now auto-detect your location via IP geolocation - no more hardcoded Tokyo default. Manual coordinates still supported.

⚡ Improvements

  • Pywalfox: Updated color template.

🐛 Bug Fixes

  • Workspace Stability: Fixed stale modelData crash in grouped workspace window delegates.
  • MangoWC: Prevented double focused windows in workspace apps.

Changes since v4.7.2

  • Release v4.7.3 (4af607481) by Lysec
  • fix(mango): prevent double focused windows in workspace apps (c31917105) by Lemmy
  • fix(workspace-apps): add "handle" for sway activation (0cc83bdba) by Lemmy
  • fix(workspace): copy window to js object instead of holding live listmodel prox. (4ee55c2a9) by Lemmy
  • fix(workspace): temp disable tooltips (8815a0da2) by Lemmy
  • fix(workspace): showApp simpler anims (b06b1d91f) by Lemmy
  • fix(workspace): simplification (ac5ff31db) by Lemmy
  • fix(workspace): fix missing icon and broken layout (ae84393c6) by Lemmy
  • fix(workspace): minor cleanup (aa12aa91f) by Lemmy
  • feat(location): removed the Tokyo default location, improved flow with the new auto-locate. (f4719e598) by Lemmy
  • fix(bar): guard grouped workspace window delegates when modelData is stale (7b29c11d7) by Lysec
  • Merge pull request #2371 from breadandsoup/main (0b4719325) by Lysec
  • Update pywalfox.json (33f295db8) by breadandsoup
  • chore(flake): update flake.lock (0becd7bf0) by Ly-sec
  • feat(location): auto location/weather via IP (80cd76b82) by Lemmy
  • chore(version): bumping to v4.7.3-git (97553d706) by Lemmy

v4.7.2

31 Mar 20:24

Choose a tag to compare

🌙 Release Notes v4.7.2

Highlights: Smoother scrolling, refined audio, launcher animations, and stability fixes.

✨ Features

  • Navigation: Smooth wheel scrolling & keyboard animations for all NView types; new NSlideSwapView for launcher transitions.
  • Customization: Independent light/dark wallpapers; manual Night Light scheduling; toggle for system theme sync.
  • UI Tweaks: 50% height cap for wallpaper panel; single-char workspace labels; showText toggle for Active Window widget.
  • System & IPC: New peek call for Bar auto-hide; volume scroll accumulation; Airplane mode commands; toast dismiss handler.
  • Extras: New Scroll (WM) template; added Czech and English (GB).

⚡ Improvements

  • Core: Migrated Niri to native C++ IPC; removed risky regex patterns to prevent ReDoS.
  • Audio: Per-app volume now syncs with PipeWire; filtered stream nodes; stabilized wpctl input handling.
  • Theming: Bulletproof GTK color-scheme syncing; consistent dock/OSD opacity in Light Mode.
  • UX: Smart NContextMenu positioning; fixed NButton scaling issues; refactored NScrollText with fade masks.
  • Media: Optimized MediaMini layout; fixed artwork cropping.

🐛 Bug Fixes

  • Wallpaper: Fixed multi-monitor folder overwrites and startup color regeneration.
  • Audio: Resolved AudioVisualizer crashes and slider state "fighting."
  • Security & Idle: Respects lockOnSuspend during idle; fixed lock screen password cursor positioning.
  • System: Corrected Lock Key LED syncing.
  • Misc: Elided long profile names; fixed launcher iconMode defaults; improved template symlink handling.

Changes since v4.7.1

  • chore(version): release v4.7.2 (77f054cbf) by Lemmy
  • feat(wallpaper-panel): adjust height for 1080p (90e07608a) by Lemmy
  • feat(wallpaper-panel): 50% max height (9a900801a) by Lemmy
  • fix(mediamini): guard onEntered against stale panel ref. (e13888e97) by Lemmy
  • fix(bar): harden AudioVisualizer when ShellScreen is null (4f523301c) by Lysec
  • chore(i18n) (90e37a1e5) by Lysec
  • Merge pull request #2363 from MrDowntempo/main (da2e2dda5) by Lysec
  • chore: run qmlfmt.sh again (cfad4fc77) by Corey Woodworth
  • fix: Add showText to BarWidgetRegistry and settings-widgets-default (c82414047) by Corey Woodworth
  • Merge pull request #2362 from breadandsoup/main (357f577c6) by Lysec
  • fix(audio): stop volume sliders fighting service state (43fe1e194) by Lysec
  • fix(audio): stabilize input volume % via wpctl like default sink (d4e7a8e96) by Lysec
  • chore: run qmlfmt.sh (900e1f128) by Corey Woodworth
  • chore: add modified files again because they were not staged (I don't get git sometimes) (0c9d3b83b) by Corey Woodworth
  • chore(i18n): Add englisht strings for the text toggle (95dfb2ade) by Corey Woodworth
  • feat: Add showText variable to show/hide name of Active Window (53b5dbac4) by Corey Woodworth
  • Update pywalfox.json (174d8b33b) by breadandsoup
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (421ccc4c8) by Lysec
  • fix(ColorScheme): sync light/dark toggle to gtk (4a371422c) by Lysec
  • chore(flake): update flake.lock (4d4edff06) by Ly-sec
  • fix(theming): sync gtk-theme with color-scheme when system sync is on (09386b190) by Lysec
  • Merge pull request #2324 from cbxcvl/fix/renderer-redos (40c8b1762) by Lysec
  • Merge pull request #2327 from cbxcvl/fix/expr-re-redos (cc4cf9cc4) by Lysec
  • Merge pull request #2328 from cbxcvl/fix/parse-if-redos (a4b7a693e) by Lysec
  • fix(theming): keep system color-scheme in sync on every dark mode change (90a5dd1cd) by Lysec
  • fix(workspaces): assign display index per output in ExtWorkspaceService (6d3ca5889) by Lysec
  • style(wallpaper): dont switch favorite in split wallpaper on first click (c879d0864) by Lysec
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (ea48cd0bb) by Lysec
  • fix(wallpaper): cleanup misleading code (c9bda88e3) by Lysec
  • chore(autofmt) (2afa833db) by Lemmy
  • fix(plugin): fix loadWidget (9bc5effb3) by Lemmy
  • fix(wallpaper): hide light/dark icon in split wallpaper mode (f2e5f9953) by Lysec
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (386d4d313) by Lysec
  • fix(wallpaper): adjust wallpaper light/dark & favorite logic (0d770725b) by Lysec
  • Merge pull request #2312 from notiant/patch-2 (00392ff8d) by Lysec
  • Add check for non-zero width in enhancedBand (b3a9aca83) by notiant
  • chore(flake): update flake.lock (62f55f54d) by Ly-sec
  • chore(flake): update flake.lock (07afddfaf) by Ly-sec
  • fix(blur): force flush wayland state, to avoid stuck blur regions (dd22f7bc3) by Lemmy
  • fix(ncolorchoice): added "enabled" visual feedback (664707d77) by Lemmy
  • fix(plugins): fixed desktopWidget settings vs plugin settings (dfc3bd953) by Lemmy
  • fix(bar): pass initial properties on creation (screen, section, etc...) to avoid potential registration issues. (73dfeb9f7) by Lemmy
  • fix(desktop-widgets): pass screen as initial property to avoid wrong spectrum registration (967e9d843) by Lemmy
  • Merge pull request #2347 from D3rJust1n/main (e41c78e2f) by Lysec
  • chore(i18n) (83de5d047) by Lysec
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (dd1ff1f0d) by Lysec
  • style(WallpaperPanel): adjust layout for light/dark & monitor selector toggles ([5d9f079](5d9f0794dc0f09c9...
Read more

v4.7.1

23 Mar 00:10

Choose a tag to compare

🌙 Release Notes v4.7.1

This update focuses on performance optimization, UI polish, and refined system integration.

✨ Key Features

  • Enhanced Visualizer: Added frequency mirroring and transitioned from Cava to native Pipewire spectrum.
  • Theming & Sync: Improved GTK color-scheme syncing, added an Emacs theme posthook, and enabled custom plugin background colors.
  • UX Improvements: OSD windows and desktop widgets are now fully click-through. Added multi-selection support to NFilePicker.
  • Wallpaper Handling: New toggle to use original files (skips processing to save CPU/disk) and fixed pathing bugs involving apostrophes.
  • Localization: Added Vietnamese support.

⚡ Improvements

  • Network: Faster device detection and native Wi-Fi state management.
  • Performance: Reduced CPU usage for WeatherCard and MediaMini progress rings.
  • UI Refinement: Improved Graph Shader anti-aliasing, fixed NSpinBox hover glitches, and fixed vertical centering of the Active Window widget.
  • System: Volume feedback now triggers on external changes; LockKeysService migrated to a native QML model.
  • Nix/Dev: Removed Cava dependencies and enabled Quickshell config path overrides.

🐛 Bug Fixes

  • Layouts: Fixed panel overflows on small screens and vertical floating bars.
  • Stability: Resolved wallpaper startup race conditions and fixed closedImmediately flag resets.
  • Clean Logs: Eliminated spurious warnings when animations are disabled.

Changes since v4.7.0

  • Release v4.7.1 (0b8b4fec4) by Lemmy
  • feat(sysgraphs): sharper (187fced35) by Lemmy
  • feat(wallpaper): add toggle to skip image processing and use original files (05ef6849d) by Lemmy
  • feat(imagecache): cleaned up dead code, reduced cache duration to 15 days (d1926452d) by Lemmy
  • Merge pull request #2208 from turannul/pr/additional-networking-fixes (5f5cd2c43) by Lemmy
  • Merge pull request #2262 from MachXNU/main (0a593c491) by Lemmy
  • prevent duplicate scan triggers (a62442104) by notiant
  • Changed background light (d19019ada) by Jb
  • feat(networking): refactor NetworkService to use Quickshell.Networking and improve state synchronization (849bf1638) by Turann_
  • Merge branch 'main' of github.com:noctalia-dev/noctalia-shell (5338a6aaf) by Lemmy
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (b44bf38c1) by Lysec
  • chore(shell): tiny cleanup (43043e1b3) by Lysec
  • Merge pull request #2260 from linusammon/main (56c0904dc) by Lysec
  • fix(background): potential fix for black lockscreen after performance mode (18c055945) by Lysec
  • ci: add cachix workflow (50392f870) by Linus Ammon
  • ci: add flake update workflow (1eb2f6d2d) by Linus Ammon
  • fix(graph): improved AA on graph shader (d3e23d6cf) by Lemmy
  • chore(autofmt) (4e44886a7) by Lemmy
  • chore(i18n): update (a67020e25) by Lemmy
  • Merge pull request #2259 from Scrumplex/fix/nix/inherit-noctalia-qs-flake (f21729710) by Lemmy
  • Merge pull request #2253 from spiros132/main (8b1bb355d) by Lysec
  • Merge pull request #2248 from mia-0/progressring_repaint (582b5629b) by Lemmy
  • fix(theming): wallpaper color generation with apostrophes in path (68ed7b397) by Lysec
  • fix(nix): inherit noctalia-qs overlay in our overlay (23a2a074c) by Sefa Eyeoglu
  • Merge pull request #2256 from iynaix/imagecache-race (deadea5c1) by Lysec
  • fix(NFilePicker): Added ability to use both Control and Shift with both having different functionality (1768dacac) by Spyridon Siarapis
  • fix(wallpaper): wait for ImageCacheService to be ready before scanning (c3532bfaa) by Lin Xianyi
  • feat(spectrum): slightly better initialization of the number of bands until noctalia-qs is updated everywhere. (25d2efe9b) by Lemmy
  • fix(NFilePicker): Added multiSelection choice (cc5971448) by Spyridon Siarapis
  • Merge pull request #2251 from linusammon/main (6b30925fb) by Lysec
  • chore(flake): bump flake.lock (bb2b1b93d) by Linus Ammon
  • build(nix): remove cava (3ddc0f633) by Linus Ammon
  • Bar/MediaMini: don’t repaint invisible progress ring (1e215ba93) by Mia Herkt
  • fix(spectrum): minimal signal new default to 1% (bef335ab3) by Lemmy
  • fix(ipc): audio and network panel attempt to open near their bar button (3b5e596ab) by Lemmy
  • chore(MainScreen): Quickshell default layer is WlrLayer.Top, let's set them explicitely for clarity (5eaefd8bf) by Lemmy
  • feat(OSD): full click-through (2efacafb6) by Lemmy
  • Revert "fix(OSD): keep panelwindow always loaded to avoid hotplug crash" (c78e7e386) by Lemmy
  • Merge pull request #2246 from Scrumplex/fix/bluetooth-alpha (c6b08b380) by Lysec
  • fix(btsubtab): fix alpha on ntexts (0261f7394) by Sefa Eyeoglu
  • feat(spectrum): typo (b9a02cccc) by Lemmy
  • feat(spectrum): adding support for both band and bar properties during the migration (40a64b6aa) by Lemmy
  • chore(i18n): update (2aa0c7a78) by Lemmy
  • feat(audioviz): added a settings to control the frequency mirroring. Fix #2239 (6180d457f) by Lemmy
  • fix(desktop-widgets): ignore mouse via mask when not editing so the events pass thru to an eventulal desktop shortcuts manager (pcmanfm). Fix #2241 (8abf32ac1) by Lemmy
  • Merge pull request #2235 from blackbartblues/feat/plugin-panel-slot-background-color (cd5863651) by Lemmy
  • Update PluginPanelSlot.qml (077989a34) by Lemmy
  • fix(migration): improv...
Read more

v4.7.0

19 Mar 12:12

Choose a tag to compare

🌙 Release Notes v4.7.0

A major update featuring a native audio analyzer, overhauled networking, advanced notification rules, and expanded compositor support.


✨ New Features

  • Audio: Native Pipewire spectrum (no external Cava needed), volume limit events, and per-app volume persistence.
  • Networking: Fully revamped UI with better signal icons and WPA-Enterprise support.
  • Notifications: Added pattern-based display rules (filter by app/body) and quick-access settings.
  • Dock: Native distro/custom icons, renamed "Static" mode to "Attached," and improved auto-hide performance.
  • Wallpaper: Precise interval timers, granular transition selection, and an expanded Wallhaven browser (70% height).
  • Clipboard: Added categories and "time ago" indicators.
  • Theming: Enhanced Ghostty and Zen Browser Kitty and the Pywalfox template.
  • Compositors: Improved native support for MangoWC (DWL-based) and Labwc (workspace/window tracking).
  • System: Support for GIF profile pictures, ddcutil dynamic sleep for brightness.

⚡ Improvements

  • Performance: Reduced GPU overhead on Dock auto-hide; optimized animations for blur compatibility.
  • UX: Added onTextChanged autosave for inputs, fixed Night Light visual noise, and improved settings search indexing.
  • Widgets: Fixed Media Mini width logic and Lock Screen text wrapping.

🐛 Bug Fixes

  • Stability: Resolved SIGSEGV crashes in Hyprland and Workspace pills; fixed re-entrant QML incubation crashes.
  • Hardware: Fixed crashes during monitor hotplugging and resolved Bar auto-hide race conditions.
  • UI: Patched OSD visibility logic, fixed Dock blur positioning, and corrected NCheckbox alignment.
  • Input: Prevented accidental settings loss on popup close.

Changes since v4.6.7

  • Release v4.7.0 (16c6181ba) by Lemmy
  • fix(config): ensure trailing slash (e8bca1722) by Lemmy
  • fix(wallhaven): adjust height calculation to prevent overshooting (5eb8b9cbc) by Lysec
  • chore(sysstat): removed dead code (d2396b3e6) by Lemmy
  • chore(autofmt): lysec cloned again (0065d9b53) by Lemmy
  • fix(about): show noctalia-qs new version string (7a6541617) by Lemmy
  • chore(i18n): add notification rules translations (5547a2716) by Lysec
  • fix(notification-rules): do not allow empty patterns (bc258254d) by Lysec
  • feat(notifications): add notification display rules (381444bc2) by Lysec
  • fix(ntextinput): use onTextChanged for autosave, onEditingFinished instead of onAccepted (9f8bf988f) by Lysec
  • Revert "fix(ntextinput): going back to "textEdited" so you dont have to press enter or change focus to apply the changes." (0756e9f56) by Lemmy
  • fix(Settings): prevent keyboard search from clearing/navigating on second keystroke (e6ca3889c) by Lysec
  • fix(wallpaper): fixed wallhaven pager. increased height from 45% to 70% (ecad305dd) by Lemmy
  • Merge pull request #2211 from nZo-sp/fix/ignore-sounde-notification (79207af62) by Lysec
  • Fix ignore sound for app without a name but with a desktopEntry defined (339443932) by nZo-sp
  • Merge pull request #2210 from linusammon/main (f3386cd81) by Lemmy
  • chore(flake): bump flake.lock (8222cf3d5) by Linus Ammon
  • fix(labwc): minor fixes to support upstream ext-workspace-v1 (bbee20a1a) by Lemmy
  • Revert "add logging to HyprlandService & CompositorService" (739d84a21) by Lysec
  • Merge branch 'dwl-mango' (09b4c927c) by Lemmy
  • Merge branch 'labwc' (9610e3672) by Lemmy
  • chore(merge): bar autohide + hyprland fixes (1ed2e5762) by Lemmy
  • Merge pull request #2205 from nZo-sp/feat/audio-service-min-max-event (d9ae5e617) by Lysec
  • Added min/max events in audio service to notify subscribers when audio limit is reached (71568bd2a) by nZo-sp
  • fix(bar): never unload content when bar is hidden (2ffb41a2b) by Lemmy
  • fix(network): force opaque on nbox delegate to avoid ugly opacity. (23a5b1de5) by Lemmy
  • fix(hyprland): same fix but with a simpler Qt.callLater approach (08ed43d9a) by Lemmy
  • fix(notif/workspace): reverting some of the previous attempt from timer back to Qt.callLater (306279716) by Lemmy
  • fix(hyprland): defer workspace ListModel updates to prevent SIGSEGV during incubation (8370ef36a) by Lemmy
  • Merge pull request #2203 from haikalllp/fix/update-pywalfox-colors (d51bc9578) by Lysec
  • fix(hyprland): correct focusedWindowIndex after sorting window list (5e95658fa) by Lysec
  • fix(bar): attempt to avoid crash when autohide is used (311fc08ac) by Lysec
  • Revert "fix(bar): defer update to next cycle" (46a3c7e2d) by Lysec
  • fix(bar): defer update to next cycle (2fcd219c3) by Lysec
  • fix: remap pywalfox colors to better support light color theme (467bac002) by haikalllp
  • fix(popup): disable autoclose by clicking outside to avoid loosing settings by accident. (e39ff3a81) by Lemmy
  • fix(ntextinput): going back to "textEdited" so you dont have to press enter or change focus to apply the changes. (c2d961712) by Lemmy
  • fix(tooltip): limit tooltip radius when box is too small, larger horizontal padding for grid mode. (dd6485871) by Lemmy
  • fix(network): ethernet info - fix box border color (515eece59) by Lemmy
  • fix(network): removed hover effect, adjusting size and radius. (088c1e070) by Lemmy
  • chore(audioservice): minor cleanup (5614c16ea) by Lemmy
  • fix(zen-browser): more template adjustments (f6d398ecc) by Lysec
  • fix(zen-browser): add overflow button to template (8b356a2c3) by Lysec
  • fix(zen-browser): adjust template for new zen update (b647e385a) by Lysec
  • fix(bar): attempt at resolving widget incubation r...
Read more

v4.6.7

12 Mar 10:08

Choose a tag to compare

🌙 Release Notes v4.6.7

Quality-of-life improvements, workspace polish, and continued stability hardening.

✨ New Features

  • Workspace App Preview on Hover: Hovering over a workspace indicator now shows running application icons with smooth transition animations.
  • Exclusion Zone Inset Toggle: New bar setting to enable a 1px exclusion zone inset, giving more control over compositor window placement.
  • Lock/Unlock Hook Parameters: Screen lock and unlock hooks now receive a $1 parameter (lock or unlock) for scripting flexibility.
  • Audio Interface Nickname in Tooltip: The bar audio widget tooltip now shows the interface nickname for easier device identification.
  • Dock Blur Toggle: The dock now respects the blur toggle setting.
  • Disable Changelog Display: Added an option in About to hide the changelog popup on updates.

⚡ Improvements

  • Smarter Settings Search: Settings search index now supports visibility conditions, preventing results that point to settings invisible to the user.
  • Light Mode Panel Backgrounds: Reduced opacity applied to panel backgrounds in light mode for better readability.
  • Desktop Widget Settings Dialog: Improved title styling for a cleaner look.
  • Lock Screen Monitor Disconnect: Lock screen now detects and handles monitor disconnection gracefully.
  • noctalia-qs v0.0.8: Upgraded runtime with fixes for Wayland wl_output use-after-free crash on monitor hotplug, incomplete socket reads, toplevel deactivation cleanup.

🐛 Bug Fixes

  • Crash Fixes (SIGSEGV): Fixed workspace crashes by deferring compositor signal handlers and refreshWorkspaces to the next event loop with Qt.callLater.
  • Hyprland Keyboard Layout: Ignore bogus "error" keyboard layout reported by Hyprland.
  • Hyprland Toplevel Ordering: Sort toplevels by x/y coordinates to fix widget ordering in scrolling and master layouts.
  • Bluetooth TypeError: Prevent TypeError when Bluetooth device name or icon are not strings.
  • GTK Theming: Fixed noctalia.css not being appended correctly in gtk3/4.css.
  • Tab Button Transparency: Fixed NTabButton forcing full transparency incorrectly.

Changes since v4.6.6

  • Release v4.6.7 (3ab57ce06) by Lysec
  • fix(workspace): potential fix for SIGSEGV caused by re-entrant incubation (d0b505245) by Lysec
  • feat(bt): improve ui/ux for the auto-reconnect feature (3cdd99966) by Lemmy
  • feat(ncheckbox): allow custom labelSize (02a3d74c2) by Lemmy
  • fix(launcher): restore background behind icons (175e85302) by Lemmy
  • Revert "feat(launcher): trying a less boxy look" (71ca1b3f6) by Lemmy
  • feat(launcher): trying a less boxy look (96930af75) by Lemmy
  • feat(settings): allow up/down navigation in search results when settings are windowed (74b2bce93) by Lemmy
  • feat(settings): unified the settings search in a new singleton (49db78a22) by Lemmy
  • fix(workspace): more defer Workspace compositor signal handlers with Qt.callLater to avoid SIGSEGV (039be7d85) by Lemmy
  • chore(i18n/lockscreen): relocate the language to dateformat map for easier maintenance (84229bc74) by Lemmy
  • chore(i18n): update + autofmt (09dab00f2) by Lemmy
  • Merge pull request #1991 from tmarti2/workspace-show-app-hover (bb5ade4c4) by Lemmy
  • Merge pull request #2154 from pa1va/patch-2 (40e85956e) by Lemmy
  • Merge pull request #2155 from shalakushka1/patch-1 (dbb2e1568) by Lysec
  • Update translation for 'earlier' in Portuguese (995868004) by shalakushka
  • Merge pull request #2094 from rivera-diego/main (cc9bf7d33) by Lysec
  • Merge pull request #2152 from Aitor42/main (786013479) by Lysec
  • fix: prevent TypeError when Bluetooth device name or icon are not strings (cf4f6b70a) by pa1va
  • feat(settings): improved search index to support visibility conditions, prevent showing results that would be invisible to the user. Fix #2113 (d35f399f5) by Lemmy
  • Applies Lemmy's review (0c503ccea) by Thibault Martin
  • Add hover feedback on window icons (f3699e786) by Thibault Martin
  • Add hover feedback on border color (fd15bcf2d) by Thibault Martin
  • Add animation between workspace displays (a9526c3ab) by Thibault Martin
  • Remove unused hovered properties (c161f0496) by Thibault Martin
  • Show workspace applications on hover (a2443c6f8) by Thibault Martin
  • fix(workspace): defer refreshWorkspaces to next event-loop (8005958b8) by Lysec
  • detect monitor configured disconnect (9c9df0c15) by Aitor
  • feat(dock): respect blur toggle (45beac2f1) by Lysec
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (13f0b8fce) by Lysec
  • i18n (4a510629e) by Lysec
  • Merge pull request #2149 from iynaix/bump-flake-lock (a6c945c93) by Lysec
  • Bump flake.lock (cbb59f5a5) by Lin Xianyi
  • fix(hyprland): ignore bogus "error" keyboard layout. fix #1390 (719fd7ba7) by Lemmy
  • chore(settings): update settings-default.json (ec40cb81a) by Lemmy
  • feat(bar-audio): added interface nickname in tooltip (cc9dea142) by Lemmy
  • Merge pull request #2066 from SpeakingPNG/feat/configurable-exclusion-zone (6eacb55f4) by Lemmy
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (ffb37d529) by Lysec
  • fix(gtk): append noctalia.css in gtk3/4.css (a22d2c7d1) by Lysec
  • autofmt (2ee59546c) by Lemmy
  • Merge pull request #2147 from notiant/patch-22 (f4340333d) by Lemmy
  • Merge pull request #2148 from spiros132/main (836814bce) by Lysec
  • fix(desktop-widget-settings): Desktop widget settings dialog, title should look much better (6085f7b88) by Spyridon Siarapis
  • feat(hooks): add $1 lock/unlock parameter to screen lock and unlock hooks (aa0059851) by Lysec
  • Battery: ad...
Read more

v4.6.6

10 Mar 14:08

Choose a tag to compare

🌙 Release Notes v4.6.6

A stability-focused release - squashing crashes, hardening the rendering pipeline, and polishing rough edges across the shell.

✨ New Features

  • Smart Transparency: Auxiliary components now support smart translucency, with a toggle in Appearance settings.
  • Desktop Widget Grid Snapping: Desktop widgets can snap to a configurable grid, with a toggle for snapping scale.
  • Usage-Based Launcher Ranking: Launcher results are now ranked by usage frequency across all providers.
  • Wallpaper Refresh IPC: Added a new IPC call to refresh the wallpaper externally.
  • Draggable Desktop Settings: The desktop settings dialog popup can now be repositioned by dragging.
  • Scrollbar Visibility Toggle: Added an option to always show the scrollbar or only on hover.

⚡ Improvements

  • Floating Bar Margins: Increased max floating margins to 500px with spinbox controls, debounced updates, and correct smart panel positioning.
  • Launcher Refactor: Split Launcher into smaller files for maintainability; improved record usage.
  • Async Shape Rendering: Enabled async rendering for all CurveRenderer shapes for better performance.
  • Plugin Settings Popup: Custom width support for plugin settings popups.
  • Graphical Battery: Fixed scaling to not follow bar font size.

🐛 Bug Fixes

  • Crash Fixes (SIGSEGV): Fixed multiple crashes caused by re-entrant ListModel incubation in bar widgets, notifications, and settings; degenerate Shape paths in backgrounds; qTriangulate crashes on flat corner arcs; and CurveRenderer crash in NWaveSpectrum (replaced with shader).
  • Templating: Fixed user templates not processing when standard templates are disabled.
  • Launcher Navigation: Fixed up/down keyboard navigation with dynamic grid columns.
  • Hooks: Deferred HooksService init to delayedInitTimer for reliable startup hook execution.
  • Widgets: Added layout margins to bordered widgets to prevent border clipping.

Changes since v4.6.5

  • Release v4.6.6 (ed9f64cbb) by Lysec
  • feat(settings): moving translucent widgets toggle to appearance subtab (2b12dcbf9) by Lemmy
  • feat(settings): add translucent widgets toggle to gate smart transparency (eafcb91b8) by Lemmy
  • i18n(update) (0d495490c) by Lemmy
  • Merge pull request #2138 from tibssy/feat/smart-transparency (8ac14b185) by Lemmy
  • perf(shapes): enable async rendering for all CurveRenderer shapes (e8ee0548c) by Lemmy
  • fix(settings): defer ListModel population to prevent re-entrant incubation SIGSEGV (87c072e2c) by Lemmy
  • fix(notifications): defer Loader activation to prevent re-entrant incubation SIGSEGV (835b12ed0) by Lemmy
  • Merge pull request #2141 from pa1va/patch-1 (d4d173ebb) by Lemmy
  • Update AdvancedMath.js (f4f75cbd2) by pa1va
  • Revert "fix(launcher): prevent arbitrary js execution. fix #2115" (7bb88e691) by Lemmy
  • fix(hooks): defer HooksService.init to delayedInitTimer for startup hook reliability (93deeda58) by Lemmy
  • fix(launcher): fix gradients and nbox colors (4a198b546) by Lemmy
  • feat(widgets): implement smart transparency for auxiliary components (5fb4286d9) by tibssy
  • fix(widgets): add Layout.margins to bordered widgets to prevent border clipping (8450adfda) by Lemmy
  • feat(launcher): splitted in smaller files for easier maintainability. improved record usage. (15decbe05) by Lemmy
  • fix(backgrounds): prevent qTriangulate crash on framed bar outer rectangle arcs (44045fa02) by Lemmy
  • fix(backgrounds): enforce minimum arc radius to prevent qTriangulate SIGSEGV on flat corners (77b253f1c) by Lemmy
  • Merge pull request #2117 from spiros132/desktopwidgets-grid-scale (8be7a34b4) by Lysec
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (e8e5d87fc) by Lysec
  • feat(launcher): implement usage-based ranking for results across providers (7decba160) by Lysec
  • fix(desktop-widgets): Added a toggle for snapping the scale (87299dda0) by Spyridon Siarapis
  • Merge branch 'noctalia-dev:main' into desktopwidgets-grid-scale (d95806f44) by Spyridon Siarapis
  • fix(bar): defer ListModel sync to prevent re-entrant incubation SIGSEGV (54ec0878f) by Lemmy
  • fix(backgrounds): another take on fixing potential degenerate Shape paths (4d0897d6e) by Lemmy
  • fix(audio): replace NWaveSpectrum CurveRenderer with shader to fix SIGSEGV crash (e4593216f) by Lemmy
  • fix(desktop-widgets): resolve widgetMetadata ReferenceError in DraggableDesktopWidget (d3732cb19) by Lemmy
  • fix(plugins): ensure settings.json is never copied on update (97ab97d4f) by Lemmy
  • feat(ui): add toggle to show/hide scrollbars on hover (9536553dc) by Lysec
  • feat(plugins): settings popup allow for custom width (0294759a5) by Lemmy
  • chore(niconbutton): renamed allowScroll to handleWheel for clarity (29d0b1f63) by Lemmy
  • fix(ntextinput): fix chopped off border due to fractional scaling + never swallow mousewheel events (cab111771) by Lemmy
  • fix(launcher): use a binding for dynamic gridColumns - fix up/down navigation. (372eaeed2) by Lemmy
  • Merge pull request #2112 from spiros132/main (fe9f52d35) by Lysec
  • Merge pull request #2122 from notiant/patch-21 (4fcc622c5) by Lemmy
  • fix(launcher): prevent arbitrary js execution. fix #2115 (2f4b80d72) by Lemmy
  • fix(nbox): update comment (250242c26) by Lemmy
  • fix transparency issues with connected box for Bluetooth/WiFi (e5a6bcdf1) by notiant
  • feat(desktop-widgets): Added support for grid snapping of the desktop widgets (cbc650751) by Spyridon Siarapis
  • fix(bar): graphical battery - dont eyeball the scale (bfdf883b0) by Lemmy
  • chore: format (1be78b506) by Spyridon Siarapis
  • fix(bar): graphical battery should not follow bar font size. (864d6ad72) by Lemmy
  • fix(bar): simplified floating margins ui ([4d07c8a](4d07c8ad187d000ef...
Read more

v4.6.5

08 Mar 12:34

Choose a tag to compare

🌙 Release Notes v4.6.5

✨ New Features

  • System-wide Translucency: NBox containers now default to partial opacity for a consistent glass-effect shell.
  • Audio Visualizer: Added a brand new configurable desktop widget.
  • Plugin Settings API: Simplified widget setting creation for plugins, including built-in value saving.
  • Launcher Blur: Added support for background blur/overlay effects in Launcher overlay mode.
  • Workspace Fonts: Added font-weight customization for the Workspaces bar.

⚡ Improvements

  • NGraph Shaders: Replaced Shape elements with a pure shader approach for superior performance and stability.
  • Settings UX: Reorganized System Monitor into a System > Performance hierarchy.
  • Smart OSD: Volume OSD now takes priority over input volume to reduce UI noise.
  • Connectivity: Added a queue system for more reliable Bluetooth auto-connect.
  • Code Cleanup: Simplified version parsing; removed legacy pacman code and terminal.py.
  • Sway Mapping: Floating windows are now correctly included in workspace mapping.

🐛 Bug Fixes

  • Resolution: Fixed reactive UI scaling when compositor resolution changes.
  • Templating: Fixed issues where user templates wouldn't run if built-ins were disabled; hardened user-templates.toml creation.
  • Session Menu: Fixed keybind renumbering and added a hotkey for Userspace Reboot.
  • Widget Manifests: Fixed missing settings context actions for plugins.

Changes since v4.6.4

  • Release v4.6.5 (6447221fa) by Lemmy
  • chore(i18n) update (0cbc42f2f) by Lemmy
  • feat(nbox): clamping min opacity instead of using a ratio. (5f319987a) by Lemmy
  • fix(display): reactively update resolution when compositor reports changes. fix #1845 (846106047) by Lemmy
  • fix(emacs): fix template tooltip path (2480e1097) by Lysec
  • Merge pull request #2095 from spiros132/main (88f95c82e) by Lemmy
  • fix: Change from referencing widgetData to widgetSettings.data (46b149cb9) by Spyridon Siarapis
  • fix(templating): run user templates even when no build-int templates are enabled (5f2020151) by Lemmy
  • fix(templating) implemented a more robust creation of user-templates.toml (1f8d1bb37) by Lemmy
  • fix(session-menu): renumber keybinds on toggle and assign number to Userspace Reboot (4d56a2aa9) by Lysec
  • chore(cava): CavaService => SpectrumService (77de0b0ad) by Lemmy
  • Merge pull request #2091 from notiant/patch-19 (552543091) by Lemmy
  • Merge pull request #2092 from notiant/patch-20 (8aaf39212) by Lemmy
  • Merge pull request #2100 from Mathew-D/main (f80f10c51) by Lemmy
  • chore(dead-code): removing terminal.py (367d82404) by Lemmy
  • feat(nbox): added comment (cd8a650b4) by Lemmy
  • feat(nbox): less transparency on containers (e50361f2f) by Lemmy
  • feat(ui): using panel opacity on all nboxes (unless marked as opaque) + launcher adjustments for a nice transluent look (76e7f30fc) by Lemmy
  • i18n(update): font weight (b47a6e22b) by Lemmy
  • settings-widgets-default (73a6717a7) by Lemmy
  • Merge branch 'main' of github.com:noctalia-dev/noctalia-shell (90dd430c1) by Lemmy
  • Merge pull request #2099 from markvincze/add-workspace-fontweight-setting (525d1bb74) by Lemmy
  • sway: include floating_con windows in workspace mapping (dcf8c3846) by Mathew-D
  • i18n (f75fce63e) by Lysec
  • feat(desktop-widgets): add configurable audio visualizer widget and fix CAVA deregistration lifecycle (5533d3552) by Lysec
  • Introduce setting to configure the font weight in the Workspaces widget (af76e6a44) by Mark Vincze
  • docs(bug report): add noctalia-qs version to template (6f81d7d56) by Lysec
  • i18n(system): removed "threshold" and use Warning and Critical directly (c0311c170) by Lemmy
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (82a5507e9) by Lysec
  • chore(PR template): add info about drafts (67e1c7054) by Lysec
  • Merge branch 'main' of github.com:noctalia-dev/noctalia-shell (3c36cfa63) by Lemmy
  • feat(launcher): launcher in overlay now support blur/background effect (ea4fd3c27) by Lemmy
  • i18n (88006647e) by Lysec
  • chore(settings): remove unused system performance description key (74e959874) by Lysec
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (bb4e8fd9e) by Lysec
  • fix(settings): turn System Monitor into System with Performance subtab (3452619f5) by Lysec
  • Merge pull request #2098 from D3rJust1n/main (f2d16688b) by Lemmy
  • Merge branch 'main' into main (25ab856c6) by Lemmy
  • feat (about/version): removed fallback to board_name, made it simpler (aac61f12a) by D3rJust1n
  • Merge branch 'main' of github.com:noctalia-dev/noctalia-shell (1a5cf691f) by Lemmy
  • fix(ngraph): removed Shapes and using a pure shader approach. (113544085) by Lemmy
  • Revert "Merge pull request #2096 from D3rJust1n/main" (31b636ee2) by Lysec
  • Merge pull request #2096 from D3rJust1n/main (b9bde5476) by Lysec
  • feat (about/version): added fallback to board_name if product_family is N/A (6d7d5dfcd) by D3rJust1n
  • fix format (d0772d993) by Spyridon Siarapis
  • fix(desktop-widgets): Fixed a bug where the widget settings context action didn't show if you didn't have the settings in the manifest (c2b2dac1f) by Spyridon Siarapis
  • feat(desktop-widgets): Added a better way for plugins to create the desktop widget settings. This includes a save function to save the values that have been changed ([397c5d1](https://github.com/noctalia-dev/noctalia-shell...
Read more