github noctalia-dev/noctalia v5.0.0-beta.8

4 hours ago

Noctalia v5.0.0-beta.8

✨ New Features

Bar & Widgets

  • Capsule groups can collapse into hover accordions, expand toward either end, override their internal spacing, and group non-adjacent widgets from the editor
  • System monitor widgets can hide their glyph and display CPU frequency; the desktop system monitor gains the same statistic
  • Taskbar active indicators support a configurable active_indicator_color
  • Individual widgets can be reset to their defaults from the widget editor

Plugins

  • Plugin API 21 adds ui.markdown, chat-style input submission with submitOnEnter, and scroll follow, observation, and jump-to-bottom properties
  • Plugin API 22 adds relative .luau module imports through require(), with imported modules included in linting and live reload
  • Plugin API 23 adds bounded asynchronous file reads through noctalia.readFileAsync()
  • noctalia.systemStats() exposes CPU freqMhz and maxFreqMhz; plugin-level setting changes now apply to live entries

Calendar & Desktop Widgets

  • Calendar accounts can subscribe directly to ICS, webcal://, and webcals:// URLs
  • Meeting links can be opened from calendar event cards
  • Calendar joins the built-in desktop widgets

Settings & Themes

  • Optional translucent Settings window background and a toggle to hide the Control Center session button
  • Config errors include their source location
  • Template variables can read the active config and icon_theme, with direct palettes.<family>.<tone>.<format> access for Matugen compatibility
  • Automatic migrations move keyboard layout custom labels to [shell.keyboard_layout.custom_labels], rename keyboard and sysmon show_icon to show_glyph, split workspace display into label_source and show_labels, and update sysmon presentation keys to visualization and show_value

Lockscreen & Sessions

  • [lockscreen].lock_before_suspend controls whether external suspend requests lock the session through logind's sleep-delay inhibit

Notifications

  • [notification].max_visible limits how many notification toasts can be on screen at once
  • Critical notifications use a stronger error-colored border

Bluetooth & Network

  • Wi-Fi tooltips and current-connection details show the active band

IPC & Outputs

  • bar-auto-hide-set smart switches a bar directly into smart auto-hide mode; plugins list always reports whether each plugin is enabled or disabled
  • Monitor selectors can match make, model, or serial number on compositors with wlr-output-management
  • Greeter sync stages each output's display scale alongside its layout and transform

Other

  • Shift plus the configured Validate key opens the selected app's context menu in the Launcher
  • OpenGL ES capability checks fail early with clear startup diagnostics when required renderer support is missing

🐛 Notable Fixes

  • Calendar / Screen Time: use nominative standalone month names, localized weekday labels, and correctly remeasure duration columns after range changes
  • Settings: prevent duplicate deferred rebuilds from freezing the shell, cull off-screen settings controls, preserve lane override controls across capsule groups, and keep scrollbar thumbs stable when dragging begins
  • Control Center: scroll monitor cards when many displays are present, preserve Bluetooth row expansion through updates, honor explicit hidden-tab requests, and disconnect every active VPN from the header toggle
  • Weather / HTTP: honor manually configured coordinates, show daily temperatures from minimum to maximum, and abandon stuck DNS lookups without blocking the main loop
  • Theme / Wallpaper: re-evaluate automatic light/dark mode after resume, emit colors_changed only for actual palette changes, and fade startup wallpapers over the existing background instead of black
  • Sessions: avoid an unwanted lock for Noctalia-initiated plain suspend, prevent child processes from retaining logind inhibit descriptors, and keep countdown actions running while hovered
  • Taskbar / Dock: use exact compositor window identities for reliable Niri focus, close, and instance cycling
  • Workspaces: prevent phantom Hyprland workspace entries
  • Tray: hide passive items, honor adjacent spacing in the drawer, recognize mixed-case attention states, and prevent edge hover highlights from clipping
  • Notifications / Tooltips: rebuild at the destination output scale and keep tooltip rendering isolated from other surfaces
  • Rendering: sharpen and smooth rounded-rectangle and screen-corner antialiasing; prevent wrapped-text cache collisions
  • Desktop Widgets: disable interactions while editing and bind newly created widget trees to the correct surface renderer
  • Fonts: handle an empty Fontconfig catalog without crashing
  • Emoji Picker: improve search keywords and recognize 🎉 as tada
  • Launcher: launch apps on the launcher's own output
  • Bar: restore screen-edge clicks for plugin widgets and stabilize accordion hover/collapse tracking
  • Audio: recognize virtual PipeWire sources
  • Plugin Store: Escape from plugin details returns to the plugin list
  • Wayland: exit cleanly when the display socket closes and retain output-mode objects until the compositor finishes with them
  • Panels: floating panel borders inherit the panel's opacity

🔧 Build

  • Nix: disable the conflicting nixpkgs Noctalia module when using the flake-provided module
  • Guix: add libsecret and libsodium inputs and rely on Meson's native_optimizations option instead of patching the build file

Don't miss a new noctalia release

NewReleases is sending notifications on new releases.