Releases: noctalia-dev/noctalia-shell
Releases · noctalia-dev/noctalia-shell
v4.7.6
🌙 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)_csvcolor 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+punctuationshortcuts 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
downloadUrlfield 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...
v4.7.5
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
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
🌙 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
modelDatacrash 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
🌙 Release Notes v4.7.2
Highlights: Smoother scrolling, refined audio, launcher animations, and stability fixes.
✨ Features
- Navigation: Smooth wheel scrolling & keyboard animations for all
NViewtypes; newNSlideSwapViewfor 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;
showTexttoggle for Active Window widget. - System & IPC: New
peekcall 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
wpctlinput handling. - Theming: Bulletproof GTK color-scheme syncing; consistent dock/OSD opacity in Light Mode.
- UX: Smart
NContextMenupositioning; fixedNButtonscaling issues; refactoredNScrollTextwith fade masks. - Media: Optimized
MediaMinilayout; fixed artwork cropping.
🐛 Bug Fixes
- Wallpaper: Fixed multi-monitor folder overwrites and startup color regeneration.
- Audio: Resolved
AudioVisualizercrashes and slider state "fighting." - Security & Idle: Respects
lockOnSuspendduring idle; fixed lock screen password cursor positioning. - System: Corrected Lock Key LED syncing.
- Misc: Elided long profile names; fixed launcher
iconModedefaults; 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...
v4.7.1
🌙 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-schemesyncing, 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
WeatherCardandMediaMiniprogress rings. - UI Refinement: Improved Graph Shader anti-aliasing, fixed
NSpinBoxhover glitches, and fixed vertical centering of the Active Window widget. - System: Volume feedback now triggers on external changes;
LockKeysServicemigrated 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
closedImmediatelyflag 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...
v4.7.0
🌙 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
onTextChangedautosave 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...
v4.6.7
🌙 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
$1parameter (lockorunlock) 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_outputuse-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
refreshWorkspacesto the next event loop withQt.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.cssnot being appended correctly ingtk3/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...
v4.6.6
🌙 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...
v4.6.5
🌙 Release Notes v4.6.5
✨ New Features
- System-wide Translucency:
NBoxcontainers 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
pacmancode andterminal.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.tomlcreation. - 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...