Noctalia v5.4.0
🎨 More colors to theme with
The full color set your app templates have always used is now available in your shell config too: tinted containers like primary_container and error_container, more surface levels from surface_container_low to surface_container_highest, plus outline_variant and scrim. The settings window already uses them, so notices and badges look cleaner and follow your palette more closely.
Two names changed along the way: surface_variant is now surface_container, and outline is now outline_variant. The colors look exactly the same, and settings changed from the Settings window are updated for you. If your config is declarative (Nix, dotfiles…), run noctalia config validate and it'll point out what to rename. Plugins have been updated too, and older plugins keep working with the old names for now.
✨ New Features
Bar & Widgets
- Wave rendering mode for the bar and desktop audio visualizers
- Per-core CPU gauges in the system monitor widget
- Configurable decimal places for network speeds
- Fcitx input-method labels in the keyboard layout widget
- Adjustable accordion animation duration and hover delay
- Click-through unused bar space, allowing clicks to reach windows below
- Custom active and inactive workspace-group border colors in the taskbar
- Options to hide the volume and brightness widget glyphs
- Widget output matching by monitor identity
Launcher & Sessions
- Calculator support for user-defined libqalculate constants and units
- Launcher options to ignore mouse input and hide navigation labels
- Window-switcher IPC commands to choose the scope at runtime
- Option to close the Niri or Umbriel overview when launching an application
- Built-in reboot to UEFI firmware settings
- Configurable lock-screen shortcuts for individual actions
Screenshots & Clipboard
- Focused-window capture through the
screenshot-windowIPC command - PNG, JPEG, WebP, and JPEG XL screenshot files with configurable quality; clipboard and pipe output stay PNG
- HEIC, HEIF, and AVIF clipboard images retained in their original format
- Screenshot overlay appearance controls and an option to hide selection dimensions
- Per-call options for screenshot and annotation IPC commands
- Opaque shape fills and shortcuts to cycle annotation fill modes
- Optional automatic copying when closing the annotation editor, including with Escape
- Image annotator available from application menus and image file associations
Calendar & Connectivity
- Option to hide older events from today's calendar list, with a toggle to reveal them
- Client-certificate authentication for CalDAV accounts using mutual TLS
- Bluetooth connection notifications for changes made outside Noctalia, enabled by default
- Opt-in connection of trusted Bluetooth devices at startup or when enabling Bluetooth, leaving reconnection to BlueZ by default
Plugins & IPC
- Plugin layer surfaces and idle watches
- Drag and drop in plugin bar widgets
- Pixel-stream controls for companion processes
- Calendar events available to plugins
- Plugin panels that fit their content height, with animated resizing and a required maximum height
- Custom OSD popups through IPC and the plugin API
- IPC commands to read and write configuration
- IPC commands to set or adjust media-player volume
Appearance & Settings
- Vortex, Pixel, Diamond, Golden, and Melt transitions for wallpapers and the lock screen
- Expanded palette color roles: accent containers, surface container levels,
outline_variant, andscrim(see above) - Color picker with transparency, format switching, swatches, and copying in the selected format
- Circular avatar and avatar-border options in the control center
- Compositor version shown on the control center user card
- Attached panels can align to either end of the bar
- Community GTK extensions integrated with built-in GTK theming
- Disabling community templates can undo their changes
- Shared audio spectrum for Umbriel effects
🐛 Notable Fixes
- Built-in palettes keep their accent's character in container colors (for example, Rosé Pine's rose no longer turns red)
- Fewer idle wakeups by refreshing clocks only as often as their visible formats require, with immediate updates after resume and unlock
- Notification actions and close signals reach only the originating application, preventing unrelated apps from requesting attention
- Tray icon searches no longer stall the bar when an application advertises a large icon directory
- Correct cursor movement, scrolling, and selection for right-to-left and mixed-direction text
- Text inputs honor rebound keyboard shortcuts
- Invalid CalDAV entries no longer hide an entire calendar, and failed refreshes retain cached events
- Low-battery warnings use the combined charge of laptop batteries
- Correct charge-limit detection on Dell systems outside Custom charging mode
- More reliable Hyprland Lua configuration detection and window raising
- UWSM sessions stop graphical applications before exiting the compositor
- Fix crashes when panels are unregistered during opening or closing and when notification history changes
- Prevent accordion expansion from shifting anchored widgets
- Sharper custom widget images on scaled displays and correct text sizing with custom label fonts
- Configuration reloads once per editor save and handles removed files; invalid value types produce warnings
- Plugin manifest changes take effect on configuration reload
- More reliable KWallet opening and storage-key recovery after unlocking
- Plugin-created files are private by default
- Theme application preserves compositor configurations and reports actionable setup warnings
- Correct KDE color-scheme identification and Emacs ANSI colors
- Lock-screen and greeter wallpaper handling respects disabled wallpapers
- Screenshot selection dimensions stay outside the capture region when space permits
🔧 Build
- Fix compilation with libc++ 23 and update Luau to 0.742
- Optional runtime libheif support for HEIF and AVIF image decoding, without a new required dependency