github noctalia-dev/noctalia-shell v4.1.0

8 hours ago

Release Notes v4.1.0

We are excited to announce v4.1.0, a feature-packed update bringing notification actions and numerous UI refinements.

⚠️ Important

  • Anonymous Telemetry: Noctalia now includes opt-out anonymous telemetry to Help improve the project by sharing anonymous system info (screen resolution, compositor, distro, scaling).
  • Sent once at startup, no tracking, data auto-deleted after 30 days. A consent dialog is shown on first launch.
  • You can change this setting at any time in Settings and review what data would be sent.

✨ New Features

  • Notification Actions: Notification history panel now supports clickable action buttons from notifications.
  • CustomButton IPC: Custom bar buttons can now be triggered via IPC commands.
  • Bar: Option to hide bar and panels when in Niri overview.

🎨 Improvements

  • Tab Design Overhaul: Completely redesigned NTabButton with rounded corners and improved visual hierarchy.
  • Discord Theming: Added BetterDiscord and Legcord support.
  • Pywalfox Support: Added color template with full dark/light mode support.
  • Lock Screen Rework: Internal refactoring with simplified button sizing, battery indicator improvements, and better fingerprint authentication flow.
  • Toast Behavior: Toasts now stay visible while the mouse is hovering over them.
  • Overview Blur: Improved blur effect using ImageMagick when available.
  • Media Player Panel: Layout adjustments and improved album artwork display.
  • About Panel: Added system information display with fastfetch integration.
  • Kitty Template: Corrected color mapping in kitty.conf template.
  • Helix Template: Replaced with improved matugen template.
  • i18n Improvements:
    • Missing translations now fallback to English without ## prefix.
    • Added Traditional Chinese (zh-TW) support.
    • Numerous translation updates across all languages.
  • Plugin System:
    • Plugins can now detect which screen their panel is open on.
    • Improved reliability and fixed potential race conditions.
    • Better update descriptions in plugin manager.
  • DDC Brightness: Added polling support and improved refresh logic for external monitors.
  • Launcher: Improved icon colors when hovered, allow providers to define navigation wrap behavior.
  • Desktop Widgets: Now respect panel opacity slider setting.

🐛 Bug Fixes

  • Hue Slider: Fixed RainbowMode not being applied due to incorrect enum usage.
  • Clipboard: Fixed console warning during clipboard operations.
  • Plugin Translations: Fixed race condition when loading translations.
  • Lock Keys Widget: Fixed persistence of setting due to missing registry, added option to hide indicator when lock status is off.

Changes since v4.0.0

  • Release v4.1.0 (c0b5530e) by Ly-sec
  • discord: minor adjustment to get more contrast when selected. (24832354) by Lemmy
  • TemplateProcessor: added support for HSL (2b9d8d94) by Lemmy
  • Startup: proper display of a dialog to confirm anonymous telemetry acceptance. (e6a80703) by Lemmy
  • Revert "Merge pull request #1405 from BinaryQuantumSoul/patch-5" (bb76a177) by Lemmy
  • Merge pull request #1405 from BinaryQuantumSoul/patch-5 (1bda7f4a) by Lemmy
  • i18n: update (51e8120a) by Lemmy
  • i18n: zh-TW update (c2f1ab21) by Lemmy
  • Merge pull request #1418 from bokicoder/main (73312a16) by Lysec
  • MediaPlayerPanel: improve the album artwork (68035d2d) by wxlyyy
  • LockScreen: fix login button (5a039a54) by Ly-sec
  • Merge pull request #1404 from BinaryQuantumSoul/patch-4 (54800772) by Lemmy
  • autofmt (476f01e0) by Lemmy
  • i18n: update (61de11cb) by Lemmy
  • Merge pull request #1410 from notiant/patch-10 (c083b33d) by Lysec
  • LockScreenPanel: small layout adjustments (6ca92a6f) by notiant
  • NReorderCheckboxes: add i18n for '(required)' (f7fad364) by Ly-sec
  • Merge pull request #1408 from MrDowntempo/fix/LessMath (de8f6853) by Lysec
  • bulk find replace of different style values (44014716) by Corey Woodworth
  • Change M/2 to XS wich is mathmatically the same value without division (c9c8393c) by Corey Woodworth
  • Autofmt (be534d9e) by Ly-sec
  • LockScreenTab: remove redundant divider (6a6c1317) by Ly-sec
  • Toast: don't hide if mouse is inside toast (580f8fd1) by Ly-sec
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (cda99d6f) by Ly-sec
  • LockScreen: internal rework (577269da) by Ly-sec
  • Merge pull request #1407 from MrDowntempo/fix/HueSlider (8d7a6229) by Lysec
  • The Hue Slider was erroneously stopped using RainbowMode because a prior cleanup did not use Enum correctly. (1c100bec) by Corey Woodworth
  • Style.xRadiusXXXS tweaking (1b3b2f12) by Lemmy
  • NTabButton: smaller rounding (1544742f) by Lemmy
  • Overview: blur tweaks (4f8660f8) by Lemmy
  • Replace discord theme from midnight -> material (5cd0ed4e) by QuantumSoul
  • Add BetterDiscord to TemplateRegistry (e1802da0) by QuantumSoul
  • Overview: blurring via ImageMagick when available. (ed7693b3) by Lemmy
  • Merge pull request #1399 from fym998/pywalfox (392f9cb1) by Lysec
  • NTagFilter: created TemplateSubTab: use NTagFilter AvailableSubTab: use NTagFilter (662154f3) by Ly-sec
  • i18n: update colorscheme template translations (5b50a0b4) by Ly-sec
  • TemplateSubTab: add tag specific filtering (37e1be3a) by Ly-sec
  • i18n: if a key is not translated, fallback to english without ##. Also replaced ## by !! when the key does not existstobe less intrusive (84e97205) by Lemmy
  • i18n (db1b4518) by Lemmy
  • LockScreen: splimplified button sizing and ensure exact same width + remove dead code. (58dbed20) by Lemmy
  • ColorTemplates: add dark/light mode support for pywalfox (2704bb5a) by fym998
  • About/Version: Commenting out the donation button until we get the replacement link (478fd284) by Lemmy
  • ColorTemplates: add more colors for pywalfox (e9391862) by fym998
  • Merge pull request #1398 from MrDowntempo/feat/Even-Nicer-Tabs (b877bc2b) by Lemmy
  • added radius to sharp corners (f7edb7c3) by Corey Woodworth
  • NTabButton: using simple separate radii on Rectangle. (97ae0924) by Lemmy
  • NTabButton: went with a canvas implementation for the background. (6f9d9c0d) by Lemmy
  • NTabButton: larger clipping (13f0101b) by Lemmy
  • NotificationsPanel: better NTabBar vertical centering (bee67fbc) by Lemmy
  • Hooks Settings: added missing session (47121cea) by Lemmy
  • NHeader+NText: proper disabled visual (6eaf9523) by Lemmy
  • Dock settings: dont hide the second subtab (aea78b5b) by Lemmy
  • NTabBar: fix odd case when there is only a single button (137d8010) by Lemmy
  • autofmt (4501bb13) by Lemmy
  • Audio/VolumeSubTab: removed ending NDivider (74e48d73) by Lemmy
  • Merge pull request #1397 from MrDowntempo/feat/NoTitleDivider (bf52ee55) by Lemmy
  • Removed Title Divider (18b0395f) by Corey Woodworth
  • NotificationPanel: better NTabBar and action buttons (02e7852b) by Lemmy
  • Merge pull request #1384 from notiant/patch-6 (1d65544b) by Lemmy
  • Merge pull request #1392 from Atlantis-Gura/fix/kitty-color-mapping (bc02d158) by Lemmy
  • AudioPanel+NetworkPanel: moving NTabBar in the header (2500780b) by Lemmy
  • Merge pull request #1396 from MrDowntempo/feat/Nicer-Tabs (1a8deb98) by Lemmy
  • Cleanup (119f039f) by Corey Woodworth
  • New tab design (a0b489a2) by Corey Woodworth
  • fix(templates): correct color mapping in kitty.conf (226e737a) by Atlantis-Gura
  • PluginPanelSlot: improved reliability and fixes potential race condition. (4d486d67) by Lemmy
  • Migration 39 should be 40 (84a7912e) by Lemmy
  • TemplateSubTab: visual overhaul (45f16013) by Ly-sec
  • Merge pull request #1388 from iynaix/fix-newlines (80933a5e) by Lysec
  • .github/funding: update (4346fb87) by Lysec
  • README: small update (b72c7520) by Lysec
  • colors-apply: fix carriage return shell quoting (f8339812) by Lin Xianyi
  • i18n: removing i18-json script as we know rely on the new platform which is more powerfull. (c0d4852c) by Lemmy
  • colors-apply: ensure a first carriage return when injecting in hyprland, niri & mango (570440ff) by Lemmy
  • i18n: de (69d77987) by Lemmy
  • i18n: updated translation from https://i18n.noctalia.dev/ (f98b0d2e) by Lemmy
  • autofmt (ae741df9) by Lemmy
  • i18n: reordering (31d3f78e) by Lemmy
  • Merge pull request #1380 from bean-factory/lockkeys-fix (c9edbfe8) by Lemmy
  • Merge branch 'main' into lockkeys-fix (d9780e69) by Lemmy
  • Merge pull request #1383 from lonerOrz/cb-ipc (f4442f17) by Lemmy
  • BatteryService: fix potential undefined (4c8e60a3) by Lemmy
  • Niri: optional "hideOnOverview" in bar settings (cff663fe) by Lemmy
  • i18n: zh-TW - 46% completed (f9d179f5) by Lemmy
  • LockScreen: add right padding to status indicators & date format update (e17bb387) by notiant
  • BatteryService: cleanup and (ef99ad51) by Lemmy
  • feat: Implement automatic IPC registration for CustomButton widgets (db0a2ccb) by loner
  • Color Templates: never disabled code and discord checkboxes - more uniformity with the others programs. (2525f88f) by Lemmy
  • Launcher: fix odd icon behaviour, adjust hover color with icon bg enabled (709556a7) by Ly-sec
  • LockScreen: move battery logic to BatteryService, prioritize laptop over bt (cdfe1cf6) by Ly-sec
  • Fix persistence of setting due to missing registry (87e75ab9) by Mridul Agarwal
  • BrightnessService: adjust ddcutil max brightness hopefully (#1378) (bb04164e) by Ly-sec
  • Added translations (afa5b6b0) by Mridul Agarwal
  • Added option to hide the indicator if the lock status is off (14f22b48) by Mridul Agarwal
  • TemplateSubTab: add helix back again (a6744f80) by Ly-sec
  • Merge pull request #1370 from iynaix/update-plugin-desc (e4c8e829) by Lysec
  • i18n: added empty zh-TW (5a8192ca) by Lemmy
  • Merge pull request #1376 from whiskeyPeak/fix-cursor-icon-system-resources-widget (2bca41be) by Lysec
  • Revert "Niri: Hide bar and panels when in overview (testing)" (7fa94b42) by Lemmy
  • autofmt (bec32a30) by Lemmy
  • NiriService: added isConnected boolean to outputCache (dba51542) by Lemmy
  • NotificationHistoryPanel: cleanup (0bd22a20) by Ly-sec
  • NotificationHistoryPanel: add notification actions (23834bb4) by Ly-sec
  • Merge pull request #1377 from CrypticCreator9052/helix_template_change (12090997) by Lysec
  • README: add sheast and Radu to supporter list <3 (68e40d88) by Lysec
  • Merge pull request #1375 from bokicoder/main (1c922ce0) by Lemmy
  • Add proper cursor icon for system Monitor widget when hovering (69dda550) by Henry Riehl
  • Replaced helix matugen template (6acec878) by CrypticCreator
  • Launch the setup wizard on NixOS as well (2d53cb7c) by wxlyyy
  • PluginService: add plugins to be updated in description (6275c98c) by Lin Xianyi
  • telemetry: full face in the setup wizard + improved translation (0f1eaa7b) by Lemmy
  • autofmt (6eb1579e) by Lemmy
  • PluginSystem: added panelOpenScreen so a panel can now on which screen it is currently open. (e221077b) by Lemmy
  • Merge branch 'main' of github.com:noctalia-dev/noctalia-shell (88a5e66c) by Lemmy
  • Fix telemetry toggle (564e9e8c) by Lemmy
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (d25a02c6) by Ly-sec
  • revert #1351 - broke Qt theming (d06f9084) by Ly-sec
  • Added anonymous telemetry (2209a469) by Lemmy
  • Niri: Hide bar and panels when in overview (testing) (4f230f8c) by Lemmy
  • Launcher: allow providers to define if they want the navigation to wrap around. (fa4ad25e) by Lemmy
  • settings-default (a3f84f2a) by Lemmy
  • Clipboard: fix warning (8a820516) by Lemmy
  • Launcher: fix ignore mouse position when the launcher opens (5f2d4a8e) by Lemmy
  • Revert "Launcher: don't focus initial mouse position entry, only after mouse movement (fix #1359)" (754f1a89) by Lemmy
  • Merge pull request #1365 from DrWeb56/main (8943c86b) by Lemmy
  • small fix ru.json (2f05c2bd) by DrWeb56
  • small fix ru.json (ab07a56b) by DrWeb56
  • Launcher: improve icons colors when hovered (b799dc96) by Lemmy
  • autofmt (2b55ae2c) by Lemmy
  • i18n update (086c4b90) by Lemmy
  • Merge pull request #1177 from sQVe/feat/shutdown-reboot-hooks-clean (94421768) by Lemmy
  • Merge branch 'main' into feat/shutdown-reboot-hooks-clean (fdc037cf) by Lemmy
  • i18n: calendar.weather-loading => common.weather-loading (6b915465) by Lemmy
  • i18n-push script with overwrite feature (d4b77399) by Lemmy
  • Merge pull request #1356 from notiant/patch-4 (cfd3f1e0) by Lemmy
  • Merge pull request #1352 from turannul/main (cd337967) by Lemmy
  • VersionSubTab: ignore fastfetch config (fd9304a6) by Lemmy
  • autofmt (ef70775c) by Lemmy
  • shell: removing useless import (a57917f7) by Lemmy
  • more corrections (6a8b7f04) by notiant
  • Launcher: don't focus initial mouse position entry, only after mouse movement (fix #1359) (d1bc14ce) by Ly-sec
  • Merge pull request #1357 from bokicoder/main (a3f32b33) by Lysec
  • Merge branch 'main' into patch-4 (5750f817) by notiant
  • more corrections (b6802650) by notiant
  • ClipboardPreview: fix horizontal scroll (b1cb10b2) by wxlyyy
  • i18n (279dbe3a) by Ly-sec
  • Merge pull request #1351 from wojciechsulocki-gif/feat/kde-colorscheme-auto-apply (b7347202) by Lysec
  • Merge pull request #1353 from jumpyjacko/discord-client-legcord (77852417) by Lysec
  • About/SysInfo: improve compatibility with old versions of fastfetch (9b305c87) by Lemmy
  • add: legcord as a consolidated discord client (13fba626) by Jackson Ly
  • BluetoothPanel: dynamic battery icons for devices (bc21ab51) by Turann_
  • feat: Auto-apply KDE color schemes with plasma-apply-colorscheme (e341b66a) by WojciechSulocki-Gif
  • more corrections (ec01df86) by notiant
  • SysInfo: use the existing formatter from SystemStatService - avoid code duplication. (62798d5c) by Lemmy
  • refactor(hooks): unify shutdown and reboot hooks into session hook (7592d9cd) by Oskar Grunning
  • MediaPlayerPanel: layout adjustments (0aa45f40) by Ly-sec
  • feat(hooks): add shutdown and reboot hooks (1e1cfcaf) by Oskar Grunning
  • MediaPlayerPanel: fix scaling issue (02a5ee59) by Ly-sec
  • Merge pull request #1340 from wojciechsulocki-gif/fix/ddc-brightness-polling (ec8b1d79) by Lysec
  • Fix: Add DDC brightness polling and improve refresh logic (fa07a3ea) by WojciechSulocki-Gif
  • Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (9b199aff) by Ly-sec
  • VersionSubTab: fix uptime (22c5cc02) by Ly-sec
  • i18n: chinese (eb864bbf) by Lemmy
  • autofmt (b074dac7) by Lemmy
  • UpdateService: better versionning (34a9f329) by Lemmy
  • Merge pull request #1346 from bokicoder/main (eba34d81) by Lysec
  • Versionning: change our approach to -git versionning, now the dev version will always be greater than the last official release. (6c62bf3b) by Lemmy
  • DraggableDesktopWidget: use panel opacity slider (0dfe9d0b) by Ly-sec
  • LockScreen: allow password unlock for fingerprint-enabled users (956c0501) by wxlyyy
  • AvailableSubTab: fix overflow for tags (e38881b1) by Ly-sec
  • UpdateService: removing dead code (4ef064a8) by Lemmy
  • Plugins: added link to plugin page (dc70bcf5) by Lemmy
  • About: slightly smaller logo (70500bda) by Lemmy
  • i18n (9306ca2f) by Lemmy
  • About: system information (16ac5394) by Lemmy
  • Merge pull request #1341 from fluviusmagnus/main (906bfc3a) by Lemmy
  • i18n: fixed some unintelligible entries in zh-CN (90673761) by 人間夜行
  • Back to -git (b9d73d07) by Ly-sec
  • Shorten "Load Average" & i18n corrections (d2bd3df0) by notiant

Don't miss a new noctalia-shell release

NewReleases is sending notifications on new releases.