github noctalia-dev/noctalia v5.4.1

3 hours ago

Noctalia 5.4.1

✨ New Features

Bar & Widgets

  • Optional symbolic application icons in the taskbar with prefer_symbolic_icons, tinted to match the widget and falling back to regular icons when unavailable
  • Dock compositor blur through compositor_blur, including per-monitor overrides on compositors supporting background effects
  • Tabular digits in bar and desktop clocks to keep digits from shifting as the time changes, where supported by the selected font

Screenshots

  • Screenshot annotation backdrops with gradient presets, padding, rounded corners, and shadows, previewed live and included in copied or saved images
  • Stroke popover combining annotation colors and thickness controls

Calendar & Settings

  • Per-account calendar sync status in Settings, with failure explanations and Edit, Retry, or Reconnect actions
  • Optional event locations in Control Center and desktop calendar lists with show_events_location, including clickable web links
  • Idle status in Settings lists inhibiting applications and their reasons, with indicators for caffeine and external inhibitors

Notifications / OSD

  • Delete the topmost notification in Control Center with the configured delete keybind
  • Disable per-player media-volume OSD popups independently of track-change popups with osd.kinds.media_volume

Plugins

  • Reference lines on ui.progress through marker and markerColor

Umbriel

  • Umbriel integration now sends typed action IPC requests for window actions and session exit; use an Umbriel build supporting this protocol

Other

  • Mouse-wheel adjustment for sliders and range sliders, including plugin sliders but excluding media playback seeking; gestures started elsewhere keep their original scroll target
  • Optional pause of wallpaper rotation while a window is fullscreen with wallpaper.automation.pause_on_fullscreen
  • Romanian interface language

🐛 Notable Fixes

  • Lockscreen: reject forged logind unlock and fingerprint-match signals from other D-Bus senders, preventing authentication bypass
  • Idle: read inhibition state directly from logind instead of trusting signal payloads, preventing forged signals from suppressing automatic locking
  • Notifications: encrypt saved history and image previews, automatically migrate existing plaintext history, and preserve saved data when storage keys are unavailable
  • Wallpaper: prevent command and script injection through KDE wallpaper filenames, including paths containing quotes or shell substitutions
  • Idle: resume idle tracking after applications release screensaver inhibition, preserve waiting timers across locking, and avoid waking an already blanked display when locking or releasing an inhibitor
  • Calendar: honor calendar selections changed during a refresh, promptly run requested follow-up syncs, and retain cached events for individual CalDAV calendars that fail to refresh
  • Calendar: avoid duplicating server-expanded recurring CalDAV events that retain recurrence rules
  • Tray: keep icons registered when an external watcher is slow at login, without blocking the shell
  • Tray: ignore empty item-property replies that could create blank duplicate icons, and correctly lay out drawer icons after icon-theme scans
  • Tray: keep submenus beside their parent when the compositor flips them at a screen edge
  • Launcher: restore pinned-first ordering in the Full layout's All view
  • Launcher: expand search when the session button is hidden, balance toolbar padding at fractional scales, and fit emoji badges within result rows
  • Bluetooth: keep discovered devices from reshuffling under the pointer and preserve the scan spinner during list updates
  • Bluetooth: connection notifications now default to disabled; enable bluetooth.connection_notifications to receive them
  • Network: successful wpa_supplicant connections no longer appear to fail when its configuration file is read-only, and newly authenticated networks no longer repeatedly prompt for passwords
  • Notifications: notifications withdrawn by their sender are marked as read
  • Dock: prevent smart-hidden docks from briefly flashing during startup or reload
  • Window switcher: enable previews on unrecognized compositors when the required protocols and an unambiguous window match are available
  • Media: playback progress follows the player's playback rate rather than assuming normal speed
  • Audio: system-sound playback runs independently of the shell UI loop
  • Bar: keep system-monitor readings updating in gauge and text modes as well as graphs
  • Active window: sharper icons on scaled displays and a default icon_size of 16 to match other bar icons
  • Battery: use appropriate icons for audio devices and gamepads reported by UPower
  • Text input: align multiline right-to-left text with its caret and selection, and anchor right-to-left screenshot annotations at their start edge
  • Settings: correctly display font family names containing escaped punctuation
  • Interface: prevent newly opened buttons from flashing through default gray colors and trim Hyprland build metadata from the Control Center version line

🔧 Build

  • Optional -Dsystem_libraries=true build mode for system-provided Wuffs, Luau, fzy, and Material Color Utilities instead of vendored copies
  • Installation instructions for Void Linux, Solus, and Alpine Edge, plus a corrected Niri shortcut example

Don't miss a new noctalia release

NewReleases is sending notifications on new releases.