Releases: noctalia-dev/noctalia
Release list
v5.0.0-beta.9
Noctalia v5.0.0-beta.9
⚠️ Breaking Changes
- Plugin manifests must now declare a canonical
version = "MAJOR.MINOR.PATCH"; manifests with a missing or non-canonical version no longer load, not a concern for all official and community plugins that already respect this convention.
✨ New Features
Bar & Widgets
- Taskbar: drag to reorder pinned applications; configurable
icon_scaleanditem_spacing, with a tighter default spacing in non-grouped mode - Volume widget:
hide_when_inactivetoggle - Audio visualizer:
reversedbar direction option - Workspaces: optional
show_all_outputsto display workspaces from every monitor; Hyprland workspaces ordered by id - System monitor: new
gpu_vram_usedstatistic - Screenshot region: draggable resize and move handles while selecting
- Text inputs: readline-style editing shortcuts
- Touch screens: drag-to-scroll gesture in scrollable surfaces
Launcher
- App origin indicator toggle (
[launcher] show_app_origin_indicator) with AppImage and package origin detection - Optional desktop actions surfaced in app results (
[launcher] show_app_actions)
Plugins
- Plugin API 28: native panel context menus through
panel.openContextMenu() noctalia.getSetting()reads any effective config value (API 26)- Process execution accepts direct argv tables in addition to shell command strings
- Desktop widgets can mask the wallpaper (API 25)
- Input frames expose their visibility to plugins (API 27)
- Auto-update scope configurable as All / Official / None via
plugins.auto_update - Plugin store: back-to-catalog button on plugin details
Power & Network
- Battery charge threshold controls in Control Center when the device supports them
- WPA3 SAE connections supported
- Idle behaviors accept a
locked_timeout, so e.g.screen_offruns at a shorter interval while locked and re-arms after each wake
Wallpaper & Theme
- Directory wallpaper shuffle avoids repeating an image until the whole set has been shown
- gsettings color-scheme stays in sync with palette mode changes
Notifications
- Notification filters support
bypass_dndfor selective DND bypass - Enabling DND hides already-visible toasts
Calendar
- Day cells open the default calendar app
Settings & Templates
- Widget editor sheets render inside the Settings window
- Disabled built-in templates can be undone
- Umbriel compositor support with an
umbrieltheme template; Hyprland template gains glow, shadow, and groupbar text colors
i18n
- Right-to-left interface support; Arabic added
- Turkish translation completed
CLI
noctalia completionsgenerates bash/zsh/fish completions from the live command schema, including dynamic plugin subcommand completions; bundled for Nix
🐛 Notable Fixes
- Lockscreen: locking proceeds while outputs disconnect; fcitx input context preserved after unlock; no crash after hotplugging with a deferred lock; no logind lock-request feedback loop; lock surface recovers after resume
- Notifications: action activation tokens emitted and bound to the source surface; system battery warnings still show during DND
- Tray: detects an existing StatusNotifierWatcher; hover pills align with the bar capsule thickness; passive item filtering is configurable
- Taskbar: tiles retained during title and active changes; group hover pill hit-boxes fixed
- Bar: global font changes apply on config reload; bar and dock surfaces recreated after output moves
- Launcher: localized entry names and regional locale preserved; AppImage origins no longer shadowed by path; fuzzy no-match scores kept; executable paths resolved for origin detection; null-config guard
- Dock: pinned entries matched before the full list
- Settings: tiled buffers no longer inflated past the compositor size; tooltips destroyed before modal close; no layout shift on plugin refresh; no rebuilds on battery metric changes; active settings tab restored after the widget editor exits
- Panels: panel input excluded from the click shield
- Audio: hidden shell sound gain ceiling removed
- Weather: refreshes after startup failures and resume
- Screen Time: tracking pauses while suspended or locked
- Calendar: locked-keyring credential recovery with transient-miss retries
- Network: Wi-Fi toggle no longer snaps back before state catches up
- Fingerprint / Polkit: fingerprint device left alone during suspend; authentication cancelled when its panel closes
- Desktop widgets: placement preserved across output scale changes; clock respects the center-text setting; string-list actions shown in the inspector
- Plugins: translations resolve from the plugin root; clipboard access restored for panels and shortcuts; store keeps scroll offset across rebuilds
- Render: glyph textures refreshed after resume
- Sessions: recursive IPC action commands prevented
- Config: session action fields preserved across overrides; migration warnings point to source keys
- Screenshot: unresponsive outputs skipped during freeze capture
- Theme: container saturation offset scaled by headroom
- Emoji picker:
roflrecognized
🔧 Build
- CLI completions generated from the live schema; Nix bundles shell completions
- Source assets path no longer embedded; assets resolve from the install prefix
- Compile fixes: libc++ for
icon_resolver - Nix flake: deprecated xz tarball replaced with zst
v5.0.0-beta.8
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 withsubmitOnEnter, and scroll follow, observation, and jump-to-bottom properties - Plugin API 22 adds relative
.luaumodule imports throughrequire(), with imported modules included in linting and live reload - Plugin API 23 adds bounded asynchronous file reads through
noctalia.readFileAsync() noctalia.systemStats()exposes CPUfreqMhzandmaxFreqMhz; plugin-level setting changes now apply to live entries
Calendar & Desktop Widgets
- Calendar accounts can subscribe directly to ICS,
webcal://, andwebcals://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 directpalettes.<family>.<tone>.<format>access for Matugen compatibility - Automatic migrations move keyboard layout custom labels to
[shell.keyboard_layout.custom_labels], rename keyboard and sysmonshow_icontoshow_glyph, split workspacedisplayintolabel_sourceandshow_labels, and update sysmon presentation keys tovisualizationandshow_value
Lockscreen & Sessions
[lockscreen].lock_before_suspendcontrols whether external suspend requests lock the session through logind's sleep-delay inhibit
Notifications
[notification].max_visiblelimits 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 smartswitches a bar directly into smart auto-hide mode;plugins listalways 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_changedonly 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
libsecretandlibsodiuminputs and rely on Meson'snative_optimizationsoption instead of patching the build file
v5.0.0-beta.7
Noctalia v5.0.0-beta.7
✨ New Features
Bar & Widgets
- Screenshot: remember last capture region (settings toggle), plus Ctrl+C / Ctrl+S shortcuts while selecting area
- Audio visualizer: max width raised to 2048
- Weather: add tooltip
- Workspaces: toggle to disable hover color changes
- System monitor: blend gauge colors in HSV space
Plugins
- Runtime-scoped sound API for plugins
- Timezone support in
formatTime(API 19); shell time/date formats exposed to scripts - Service enable/exit reasons; frame ticks delivered to plugin panels
Lockscreen & Sessions
- Reintroduce unlock hint
- Lock before sleep via logind delay inhibit (prevent premature lock in the same way as sway/hypridle does)
Clipboard
- Delete keybind action
- IPC: append text (
copy) and read current text (paste)
Notifications / OSD
- Track fcitx input method changes in the OSD
- Transient OSD controls over IPC
Bluetooth & Network
- Bluetooth battery percent from UPower when available
- Offline-mode banners on network-dependent settings pages
Greeter Sync
- Use
sync.tomlas the sync target, greeter.toml is independent
Other
- Floating panel wayland layer is configurable (pop vs overlay)
- Korean added to supported languages (translation in progress)
- Per-item tooltips in virtual grids (settings community template grid and similar)
🐛 Notable Fixes
- Notifications: retention cleanup no longer empties history entries fixes “Untitled notification”
- Input: caret placement and scroll stay consistent when focusing/blurring long fields
- Clipboard: move a selection to the top when it is copied again
- Taskbar: keep clickable areas when window titles refresh
- Wayland: keep toplevels that never get
output_enterin output-scoped lists - Lockscreen / tray / dock / bar auto-hide and launcher D-Bus activation polish
- Settings: keep the widget editor centered during window animations; clear default-equivalent keybind overrides; expose step args for default widget actions; async plugin-store thumbnails
- Theme: stronger contrast for wallpaper palettes, light-mode shadows, OKLCH contrast rework
- Audio: clearer grouped device menus; battery state glyph always drawn outside the graphic
- Hardware info: prefer
amdgpu.idsfor AMD GPU names - Calendar: replace the custom iCalendar parser with libical
- Tooltip text measured through the label layout engine
- Control Center / session panel spacing and card margin consistency; trailing shortcuts can span the full grid width; compact sidebar tab tooltips
- Control Center: separate saved and available Wi-Fi networks
🔧 Build
- Replace vendored
dr_wavwith system libsndfile (now support most classic audio format) - Nix: apply
autoAddDriverRunpathunconditionally
v5.0.0-beta.6
Noctalia v5.0.0-beta.6
✨ New Features
Control Center
- Toggle to hide shortcut labels; icon-only shortcuts scale up and stay centered
Lockscreen
- Optional media and weather on the login box, with toggles in the widget editor
- Password hint always shown on the idle lock screen
Bar & Widgets
- Configurable actions per widget, define your own click and scroll behavior.
- Spacer widgets are non-interactive by default
Plugins
noctalia.openSettings()and IPC to open a plugin’s settings from script- Expanded system stats API for plugin authors
- Plugin store: sort plugins and filter by source/category in the searchable store sheet
Settings & Sessions
- Browse and install community templates from a searchable store sheet in Settings
- Browse buttons on all plugin path settings
Clipboard
- Last copied item stays pasteable after the source app exits
Other
- JPEG XL image decode support
- Improved Markdown rendering and table overflow handling
- Panel card borders split out from general panel border setting (
shell.panel.bordersvs card-specific styling)
🐛 Notable Fixes
- Notification filters apply to internal/plugin toasts (history still external-only)
- Notification filter editor saves Content Regex when using Apply or toggling options
- Polkit auth panel opens during fingerprint-only auth and sizes to fingerprint-only content
- Control Center user-card wallpaper and scrim draw as one rounded shape, no more artifacts on the edge
- Plugin shortcuts reload when reopening Control Center if the script changed while closed
- Double/triple-click in text inputs selects the full word or line
- Lockscreen compact layout reserves status row height; forecast days fit the weather budget; sysmon graphs keep updating on lockscreen widgets
- Desktop media player relayouts when track title or artist changes
- Bar capsule group hover pills and hit targets align with the outer capsule node
- Bar keyboard layout label truncates correctly for multi-codepoint labels
- CalDAV password retained during calendar account discovery
- Clipboard selection data no longer corrupted after move operations
- Theme template application preserves symlinks
- Screenshot region overlay takes pointer input over the widgets editor
- Settings window stays usable while dialog sheets are open; no longer closes when opening widget editors
- Capsule groups stay configurable when a bar lane override is reset
v5.0.0-beta.5
Noctalia v5.0.0-beta.5
✨ New Features
Bar & Widgets
- Per-widget custom gesture actions (clicks, scrolls, and related bindings) with defaults for built-in widgets; plugins can declare their own
- Settings: foldable Actions group per widget for those bindings
- Dead-zone input routes into the same gesture actions as the widget
- Opt-in: one scroll action per wheel notch / flick for cycling verbs (volume, workspaces, and similar)
Lockscreen
- Compact and Regular login box layouts
Desktop Widgets
- Lasso select and group transforms in the desktop widgets editor
Plugins & Panels
- Install the newest plugin revision the host’s plugin API supports
capture_keys, system stats / per-core CPU for plugins, and closures as UI tree callbacks- Persistent plugin panels outside the active-panel slot, plus
keyboard_focuson panel entries
Dock & Wallpaper
- Dock: optional Wayland overlay layer
- Wallpaper panel: sort by random (stable across refreshes)
Calendar & Screen Time
- Optional ISO week numbers on the calendar grid
- Screen time: open hourly day detail from the multi-day chart
IPC
- Workspace, keyboard layout, network, and directional power verbs
- State-query commands marked unbindable so action pickers skip them
🐛 Notable Fixes
- Taskbar: hide anonymous XWayland menu popups (no app id and no title); keep compositor focus / workspace matching reliable
- Hyprland: stop workspace active/occupied/urgent flags from clearing on unchanged snapshots
- Panels: honor
panel_anchor_barover the opening source bar; center panels when the focused output has no bar - Workspaces: fix hover-animation crash on widget teardown / bar reload
- Dialogs: stop auto-dismissing popups on outside click
- Launcher: faster open/search, honor locale in the calculator, default
/calc, invalidate stale icon-cache misses - Theme CLI: apply
-ccustom colors before-rtemplate render - Polkit: harden auth and keep chained prompts intact
- Sysmon: skip GPU polling when nothing is showing GPU stats
- Input: reset scroll detent carry after a gesture pause; one action per wheel notch for cycling verbs
🔧 Build
- Packaging: document the project maintenance policy for packagers
v5.0.0-beta.4
Noctalia v5.0.0-beta.4
✨ New Features
Bar & Widgets
- New Text bar widget
- Taskbar: pinned apps without grouping, idle pinned opacity, workspace group content modes (icons / count / dots), middle-click to close windows
- Battery: display content options (percent / time / rate) and a none display mode
- Sysmon: extra disk stats, text/glyph order and unit visibility, none display type; GPU monitoring on by default
- Media: artist-first display order setting, scroll wheel and side buttons for track skip
- Network: connection state beside the VPN indicator; optional WAN IP in the network widget tooltip
- Notification widget stays visible while its panel is open (with auto-hide)
- Workspace urgent color, per-widget scroll enable, smart auto-hide, show-on-workspace-switch
- Volume widget: effects-profile glyph overrides
- Broader border and shadow options across supported elements
Panels & Launcher
- Global panel anchor bar for multi-bar setups
- Optional list-item background in launcher and clipboard
- Launcher auto-paste after copy activations; opt out of currency exchange fetching
- Clipboard page up/down; encrypted clipboard history with configurable key sources
- Session panel: toggle to show shortcuts
- Window switcher dismisses on outside click
- Polkit panel is no longer dismissed with outside-click
Desktop & OSD
- New Volume desktop widget
- Hot corners: configurable activation delay
- OSD master enable; keyboard backlight OSD; audio sink/source name in volume OSD
- IPC for speaker and mic volume OSD
Calendar & Lock
- CalDAV visibility toggles, event date/time formatting, password-file credentials, secured credential storage
- Password input glyph animation (V4-style eye candy)
- Screenshot: show cursor option
Plugins & Store
- Plugin API 8:
dismiss_on_outside_click, hover callbacks, interactive row/column nodes, declarative panel drag-and-drop, string map settings,httpStream,allowInsecureTls - Plugin store: filter by source, keyboard navigation, Community badge, open plugin webpage
Settings & Security
- Encrypted persistence under a master key (secret store / libsecret)
- Settings window sized to a golden rectangle of the output
Theming
- Firefox theming via noctalia-pywalfox native messaging host
🐛 Notable Fixes
- Panels attach to the first enabled bar when no anchor is set (multi-bar / disabled-bar cases)
- Fixed
mode_changedhook not firing - Settings: confirm individual override resets; overridden filter matches override badges
- Screen corners stay above the bar after bar config changes
- Taskbar: empty workspace scroll, KDE context menus, tooltips on title change, show windows without app id
- Wallpaper: light/dark directories with
theme.mode=auto, natural filename sort, favorite palette on auto rotation - Network: bridge/bond primary and slave link reporting
- PipeWire: don’t override volumes set by other apps; spectrum silent-sample fix
- Hyprland: focus launch monitor; workspace refresh after
change_id - Dock / bar hit targets, tooltips, and context-menu dismiss polish
- Ctrl shortcuts under non-Latin layouts; desktop-entry escaped characters
- Plugins: callback CPU budgets, detached commands without login shell, catalog git off the main thread
- Lockscreen custom keyboard-layout labels; idle grace torn down before suspend
- Swedish and Turkish language registration
🔧 Build
- Packaging guide (
PACKAGING.md) and distro/Repology notes - New: libsodium and libsecret dependencies
- Native CPU optimizations opt-in; meson dependency-version regex fix
v5.0.0-beta.3
Release v5.0.0-beta.3
✨ New Features
Bar & Widgets
- Smart auto-hide for the bar (show on empty workspace, hide when windows are open)
- Per-widget interactive toggle in widget settings
- Workspace widget focus-hint style; workspace appear/disappear animations
- Taskbar: minimal style option for workspace labels
- Network widget: optional VPN name label when a VPN is connected
- Clock widgets (bar and desktop): timezone setting
- Custom images on bar widgets expand
~/ user paths
Dock
- Smart auto-hide option (same empty-workspace behavior as the bar)
- Drag-to-reorder pinned icons
- Border color and width settings (same model as the bar)
- Focus newly launched apps from the dock more reliably
Launcher
- Configurable per-provider prefixes and global-search opt-in
- Provider presence/status validation; prefix controls in Settings
- Freeform dmenu query arguments; plugin
setQueryis prefix-relative
Plugins
- Plugin store: 24 plugins are now available
- Persistent per-plugin storage via
noctalia.pluginDataDir() - Lifecycle
onExit; scroll forwarded to Luau asonScroll - Color picker dialog API;
noctalia.appIconPathicon resolution - Bar widgets expose
barWidget.outputName - Plugin store: clearer update UI, source badge colors, header links to noctalia.dev / GitHub
- Setting labels use
label_keyonly (breaking for plugins still using plainlabel) - Declarative UI: button tooltips and a
controlSizeheight tier
Theming & Appearance
- Global button border toggle
- Pure black dark mode for OLED panels
- Custom theme colors:
color_dark/color_light - Day/night schedule: custom times for theme switching
- Mango:
group_bar_decoratecolor tokens
Settings & Sessions
- Accessibility section:
ui_scaleandhigh_contrastmoved under[accessibility] - Session panel: grid layout option; power settings consolidated
- Settings migration helper; stricter config validation before save / on reload
- Lockscreen login box: center password text toggle
- Wallpaper: option to disable all transition effects
- Setup wizard sets a default wallpaper
Notifications / OSD
- Border toggles for notification toasts and OSD popups (on by default)
System & Compositor
- Sysmon: Support for GPU usage and VRAM on Intel i915/xe
- Explicit backlight device override
- Nix package: git on the runtime path
🐛 Notable Fixes
- Dock: active icon scale updates under magnification when opacities match; magnified instance-count badges no longer clipped; tooltip dismiss during pinned drag; launcher focus / activation binding
- Taskbar: grouped capsule sizing, workspace badges, clipping/overlap, title alignment, mute/minimal badge colors, strip padding
- Context menus: scroll long menus and navigate with keybinds
- Polkit: panel height follows authentication message content
- Bluetooth: hide battery % when disconnected; avoid full list rebuild on RSSI updates
- Network: refresh Wi‑Fi signal in place; rfkill applies to all matching devices
- Audio/PipeWire: show all input devices; treat displayed zero volume as muted
- Lockscreen: blur backgrounds at output resolution; redraw after resume
- Theme: Catppuccin Latte light terminal palette; single-mode custom colors / blend source;
colors_changedhooks wait for templates - Night light: smoother temperature ramps
- Notifications: top-aligned toast icons; grace timer when a toast finishes; error accent on persistent critical toasts
- Calendar: skip unselected Google calendars
- Launcher: don’t record usage when sort-by-usage is off
- Control center: home clock/weather card height; card borders no longer cut off
- Settings: plugin source editor teardown; linked settings in page reset; search focus UAF; floating panel alignment; capsule radius visibility; custom schedule times before activation
- Config: path expansion restored; plugin settings exported; default plugin sources seeded; accessibility / hot_corners / widget enabled validation; drop undocumented
[notifications]alias - Plugins: stale store thumbnails; click anchor for attached panels; description for label vs
label_keywarnings - Input: password field info-leak hardening; touchpad scroll quantized to wheel steps; hover resync after dialogs
- Clipboard hover jitter; media title marquee stops while hidden
- Render: recover EGL share group after GPU reset; skip unchanged animation frames; cache redundant GLES state
- Workspaces: delayed empty-workspace color transition; Mango overview active workspace; Niri switcher prefers compositor focus
- Bar:
show_on_workspace_switchinitial reveal; tray hover respects capsule settings - Session: primary keyboard selection in the session panel
- Hot corners: only create surfaces for configured corners
- App: defer surface redraws on resume/unlock; toast fallback render to break compositor stalls
v5.0.0-beta2
Noctalia v5.0.0-beta2
✨ New Features
Bar & Widgets
- Hover highlight (foreground-tinted state layer) for bar widgets, capsule groups, taskbar, tray, and workspace widget with per-widget opt-out
- Concave/inverted corners for bar and dock, toggled via setting (replaces negative-radius hack)
- Eye toggle to hide/show individual bar widgets and capsule groups
- Custom images on glyph widgets
- Media widget: option to hide artist name
- Tray: drawer_item_size configuration
Plugins
- Any plugin can now load custom fonts
- Declarative bar-widget UI via barWidget.render, inheriting bar font/scale
- onConfigChanged service callback for in-place settings reload
- Input focus support, multiline input, panel "fill" sizing, and new script bindings
- Role color alpha suffix support (role/alpha); redesigned plugin store home/detail pages; collapsed store categories by default
Network & Connectivity
- IWD support for WiFi
- WAN/WAN-IP display (opt-in for privacy)
- Bluetooth: actively reconnect trusted devices on power-on and startup
Settings & Sessions
- Regex content filtering for notifications + filter duration override
- Detach power and custom session commands
- Launcher settings extracted into their own section; OnlyShowIn/NotShowIn desktop-entry support
- Screen-sharing filter regex (privacy)
Other
- IPC: wallpaper next/previous, bar-reserve-toggle, notification-show payloads with two-arg CLI body
- Screenshot: expose generated path to pipe commands
- Calendar: toggle the events panel
- Runtime log-level control
🐛 Notable Fixes
- Calendar: client-side CalDAV recurrence expansion
- Wallpaper: per-display KDE/Plasma sync, crash-loop prevention on invalid paths, precise IPC outcomes
- Lockscreen: hide idle grace overlay on unlock, dim overlay through lock handoff, hideable login boxes
- Workspaces: jitter fixes, Hyprland persistent-workspace restore on reload, Mango tag mapping
- Audio/PipeWire: bar volume/OSD mute sync, simplified relative volume steps
- Brightness: sysfs fallback when logind D-Bus is unavailable
- Panel/tooltip focus, scaling, and placement fixes; desktop cross-monitor widget drag; hot-corners reload guard
🔧 Build
- Require system md4c/json/toml++/stb
- Nix devshell updates for new dependencies
v5.0.0-beta1
v4.7.7
Release v4.7.7
✨ Features
Add Hyprland lua config support
ℹ️ Info
This will be the last release of noctalia-shell v4. We will purely focus on Noctalia v5 from now on.
Changes since v4.7.6
- Release v4.7.7 (3abfa1fc0) by Ly-sec
- Merge pull request #2667 from SirQuestion/hyprland-lua-dispatch-fallback (d2a1c8dbe) by Lysec
- compositor: Fixed whitespace for diff (83db940d1) by SirQuestion
- chore(flake): update flake.lock (8c593cf38) by Ly-sec
- chore(issue template): adjust community name (6631b4823) by Ly-sec
- chore(issue template): adjust invite link (caa85dbb4) by Ly-sec
- chore(issue templates): adjust assignees (d732a4e16) by Ly-sec
- compositor: Removed unintentional change of monitorEvents.includes(event.name) (84fe47883) by SirQuestion
- compositor: Updated Hyprland functions to support new Lua syntax (8b4d68d3f) by SirQuestion
- chore(flake): update flake.lock (761869a56) by Ly-sec
- chore(workflow): update label metadata (eb2b53dda) by Ly-sec
- chore(issue templates): update bug report (3bbf31945) by Ly-sec
- chore(ISSUE_TEMPLATES): update templates (f38756d56) by Ly-sec
- chore(flake): update flake.lock (7d0357683) by Ly-sec
- chore(flake): update flake.lock (6b48834dd) by Ly-sec
- chore(flake): update flake.lock (f0469d2d6) by Ly-sec
- chore(flake): update flake.lock (9f8dd48c8) by Ly-sec
- chore(flake): update flake.lock (6773c4750) by Ly-sec
- chore(flake): update flake.lock (a50c92167) by Ly-sec
- Merge pull request #2506 from Scrumplex/nix/fix-hm-systemd-warning (2c1808f9f) by Lemmy
- Merge pull request #2514 from notiant/patch-13 (d7b68652e) by Lysec
- fix pixelation of colorized dock icons (22d8b1e8e) by notiant
- Merge pull request #2513 from notiant/patch-12 (48d656580) by Lysec
- NBusyIndicator: follow color change (06a19262b) by notiant
- Merge pull request #2512 from Mondotosz/main (4f24f8a72) by Lysec
- fix(ipc): added missing entry to Control settingsTabMap (f7932c45e) by Mondotosz
- Merge pull request #2509 from SerrpentDagger/main (b25438363) by Lysec
- chore(flake): update flake.lock (fc43ab5c3) by Ly-sec
- Add Qt colors light, mid (fdc422e6a) by SerrpentDagger
- fix(nix): set warnings as top-level config (c9a353331) by Sefa Eyeoglu
- Merge pull request #2427 from notiant/patch-10 (ed1fff626) by Lysec
- fix syntax error (4cf793848) by notiant
- Merge branch 'noctalia-dev:main' into patch-10 (f7394b7c4) by notiant
- Merge pull request #2499 from notiant/patch-11 (478e941e4) by Lysec
- chore(flake): update flake.lock (513ad72ee) by Ly-sec
- safeguard custom commands from trailing whitespaces (5f7d56d86) by notiant
- Merge pull request #2497 from vile-v/patch-2 (b8781aef4) by Lysec
- added couple of selectors (deff8a942) by vile-v
- Merge pull request #2495 from linusammon/main (d9531258d) by Lysec
- chore(nix): add systemd deprecation warnings (131f23aab) by Linus Ammon
- fix(template): generate current-theme.conf for kitty with wallpaper gen (4fa29ff38) by Lysec
- Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell (7f0962523) by Lysec
- fix(bar): swallow right/middle on hot strip to avoid Qt context-menu SIGSEGV (ccb04bf01) by Lysec
- disable Bluetooth toggle when Bluetooth is blocked (5826a293a) by notiant
- chore(flake): update flake.lock (a7c724181) by Ly-sec
- Merge pull request #2451 from namelessmonarch0/fix-starship-config-path (76b03be48) by Lysec
- chore(version): bumping to v4.7.7-git (b452772fe) by Lysec
- fix(theming): readjusting the starship config file for a more reliable script (2bf74d385) by Nameless Monarch
- update ColorsSubTab.qml (f37dd3c2a) by notiant
- fix problem with Airplane Mode toggle visibility & add some default values for the Color Scheme settings (c6ca3a663) by notiant