Releases: ryzendew/Event-Horizon-Releases
Alpha 2 0.8.0
[0.8.0] - 2026-06-05
License
- Relicensed to MIT license (added LICENSE file)
Dock Tab β M3 Rewrite with 3 Child Tabs
- Settings child tab: "Visibility & behavior" card with 5 toggle rows: Show dock, Auto-hide dock, Group running windows, Dock tooltips, Pinned apps tray pill β each with title (bandTop+36), description (bandTop+53), and right-aligned toggle
- Widgets child tab: Interactive widget reordering with 3-column layout (LEFT/CENTER/RIGHT), drag-and-drop with ghost visualization, per-widget toggle and remove button, "Add widget" button per column
- Appearance child tab (new
settings_tab_dock_appearance.cpp): 8 configurable items in 2-column grid β Corner Radius (0-50), Dock Scale (50-150%), Icon Size (0-50), Icon Spacing (-50-50), Dock Opacity (0-100%), Dock Border (toggle), Border Size (0-12px), Border Opacity (0-100%)
Taskbar Tab β M3 Rewrite with 3 Child Tabs
- Settings child tab: 7 toggle rows (Show taskbar, Position at top, Group running windows, Auto-hide, Embedded widgets, Tooltips, Pinned apps tray pill) + Width mode combo (Floating/Edge-to-edge/Fill)
- Widgets child tab: Same 3-column drag-and-drop widget reordering as dock tab
- Appearance child tab: 8 M3 sliders β Height (24-120px), Radius (0-50px), Opacity (0-100%), Icon size (0-96px), Icon spacing (0-50px), Floating gap (0-50px), Scale (50-150%), Border size (1-12px) + Taskbar border toggle
Sound Tab β M3 Rewrite with Per-App Audio
- Per-app audio streams now display resolved app icons with volume sliders and mute buttons
- Default Output (sink) and Default Input (source) visually separate with icon + label + combo dropdown
- Engine section redesigned: 2-column grid for sample rate, force graph rate, allowed rates preset, default output PCM
- Visual overhaul: card radius 14, header icons 24px, headings 15px/700, section gap 32, label column 200, form row pitch 56
- Default audio settings persisted and reapplied via
apply_saved_defaults()
Night Light Tab β M3 Redesign
- Unified slider drag state (code range 210-215) replacing separate
nightlightSliderDrag - New
nightlight_consume_pointer_move()handler removes inline slider logic from event handler - M3 card pattern with color temperature, schedule, and brightness controls
Notifications Tab β M3 Rewrite
- Unified
notifSliderDragreplacing separatenotifTimeoutSliderDragandnotifToastGeomSliderDrag - New geometry helpers:
notif_app_geom(),apply_notifications_slider_x(),notifications_primary_test_button_geom() - Added
notificationsScalePctsetting (percentage-based notification scaling)
Themes Tab β M3 Redesign
- Simplified mini-preview: window controls (red/yellow/green dots), "Application" title, search field, "Remember me" checkbox, "Continue" filled button, divider line
- Preview uses actual theme colors from
GtkThemeColors(headerBg, headerFg, bg, accent, fg, text, base) - Fixed GTK/Plasma cursor theme application command quoting
Launcher Tab β M3 Update
- Geometry refactored:
launcher_slider_row_geom()delegates tolauncher_app_geom()instead of inline constants - View mode combo geometry accepts pointer output instead of hardcoded Y offset
Workspaces Tab β M3 Update
- Geometry refactored:
workspace_slider_row_geom()delegates toworkspace_app_geom() - Layout constants moved out of event handlers into shared functions
Wired Tab β Complete M3 Rewrite with 6 Child Tabs
- Status: Interface name, connection status, speed, duplex, auto-negotiate, MAC/IPv4/IPv6 addresses, gateway, DNS, driver info, vendor, product, MTU, device state
- IPv4: DNS priority, DHCP timeout, route metric, required timeout sliders + send hostname, ignore auto DNS, never default, may fail toggles (emerald-500 accent)
- IPv6: Same structure with router advertisement timeout
- Ethernet: MTU slider, auto-negotiate toggle, accept all MACs toggle
- Security: 802.1x enable toggle, system CA certs toggle
- Advanced: Autoconnect priority slider, autoconnect toggle, browser-only toggle
- Network service enhanced: reads 22 new Ethernet properties including speed, carrier, duplex, driver version, firmware, vendor
Hyprland Tab β Full M3 Rewrite (11 sections)
- Replaced all
.inlinline files with M3-styled.hppcomponents (total ~3107 lines):- General: 5 sliders + 3 toggles (borders, gaps, tearing, snap)
- Decoration: 18 sliders + 7 toggles (rounding, opacity, blur, shadow, dimming)
- Input: 7 sliders + 8 toggles (repeat, sensitivity, touchpad, follow mouse)
- Binds: 2 sliders + 2 toggles (scroll delay, focus)
- Dwindle: 4 sliders + 4 toggles (split ratio, force split, smart resizing)
- Master: 2 sliders + 2 toggles (master factor, slave count, new on top)
- Scrolling: 2 sliders + 2 toggles (column width, scroll focus)
- Animations: Master toggle + 31 per-entry toggles across 5 categories
- Misc: 2 sliders + 6 toggles (VRR, wallpaper, autoreload, logo)
- Render: 3 sliders + 4 toggles (FP16, shader blur, direct scanout, color management)
- Cursor: 3 toggles (hardware cursors, hyprcursor, gsettings sync)
- Added animation popup editor with speed control, curve selector (13 presets), style selector per entry
- Added cubic bezier editor with 13 preset curves
- Sidebar collapsed from 11 sub-tabs to single entry
Power Tab β Full Layout Redesign
- Sleep & Power child tab: Display Sleep card with emerald-500 toggle + timeout slider (1-120 min), Idle Suspend card with toggle + timeout slider (5-240 min), Power Button + Lid Close side-by-side grid with action combo dropdowns, header-only Battery percentage toggle card
- Performance child tab: CPU Performance card with right-aligned Scaling Governor combo (Performance/Powersave) and Energy Performance Preference combo (5 levels), System Tuning Profile card with 8 TuneD profiles applied via async
tuned-admin detached thread - All toggles use emerald-500 accent (
eaR=0.396, eaG=0.792, eaB=0.412)
Settings Infrastructure
- Rewrote
settings_event_handlers.cppβ removed dozens of duplicate layout constants, consolidated geometry into shared functions (dock_app_slider_geom,notif_app_geom,workspace_app_geom,launcher_app_geom,appearance_app_geom) - Added animated smooth scrolling with
settingsScrollPxTarget+ per-frame convergence - Added opaque panel support for dropdown popups (
opaquePanelparameter skips glass highlight) - Fixed scroll paint/click mismatch for power tab (now maps
activeTab == 32toapp.settingsPowerScrollPx) - Fixed power button dropdown popup not rendering (geometry was overwritten by lid close)
- Fixed all 5 power dropdown hover tracking in
on_pointer_motionhandler - Enhanced widget drag-and-drop with ghost visualization, grab offset calculation, section/index tracking
- Hyprland event routing: single entry (tab 33) instead of 11 sub-tabs (33-43)
Bug Fixes
- Matugen stability: Fixed header includes for backend restructure, added locked border colors in matugen output, added group/groupbar section config for Hyprland v0.48+, added
ptyxisterminal theme template, fixed keyword fallback syntax (trieskey:valueandkey/value) - Drive mounting: Improved mount/unmount operations with proper path handling and polkit integration
- General: Power actions backend fixes, launcher tab fixes, network tab fixes, wired settings tab fixes, icon tab updates, UI fixes across multiple tabs

Major Rewrite and performance changes
Changelog
[0.6.0] - 2026-06-04
Animation System
- Implemented a complete Material 3 (M3) motion and animation framework with core animation engine providing easing curves, duration presets, and keyframe support
- Defined motion design tokens following the M3 specification (duration, easing, delay constants)
- Integrated the animation system into widget rendering pipelines across all shell components
- Rewrote the animation manager with improved interpolation, completion callbacks, and shared animation state
- Applied animated transitions to: dock tooltips, OSD overlays, taskbar state changes, app drawer popups, power modals, calendar popups, media player popups, volume mixer popups, VPN popups, weather popups, battery/clock/media/weather/workspaces/Bluetooth widget paints, settings panels, wallpaper transitions, and button/slider/toggle interactions
- Added layout caching and measurement scratch utilities for efficient animation frame rendering
- Added animated pill-style slot rendering support
- Replaced all instantaneous visibility toggles with animated transitions (fade, slide, scale)
Compositor Backend Rewrite (Multi-Compositor Architecture)
-
MangoWM Window Manager:
- Full workspace management overhaul with complete rewrite
- Rewrote keyboard and output backend for the new architecture
- Added runtime with IPC integration, event loop, and compositor lifecycle management
- Added comprehensive MangoWM documentation detailing architecture, IPC protocol, and configuration
- Implemented compositor-level power management (shutdown, reboot, logout, suspend via logind)
-
Hyprland Backend:
- Added runtime with socket-based IPC, event handling, and window management
- Added event handler for Hyprland IPC signals (workspace change, window open/close, urgent, fullscreen)
- Added keyboard layout management via Hyprland
- Added output/monitor management
- Added workspace tracking and manipulation
- Added toplevel window mapping protocol for window-to-workspace association
- Added window identification and matching
- Added new Wayland protocol for focus grabbing
-
Sway Backend:
- Added IPC runtime with socket communication
- Added keyboard layout management
- Added output management
- Added workspace tracking
-
Niri Backend:
- Added compositor runtime
- Added keyboard support
- Added output support
- Added workspace management
-
Triad Backend:
- Added compositor runtime
- Added keyboard support
- Added output support
- Added workspace management
-
Ext-Workspace Protocol Backend:
- Added support for the wlr-ext-workspace-unstable-v1 protocol
- Implemented workspace creation, removal, reordering, and naming
-
Compositor Abstraction Layer:
- Added IPC abstraction over compositor communication channels
- Added virtual interface for keyboard management
- Added virtual interface for workspace management
- Added runtime compositor detection (Hyprland, Sway, Niri, MangoWM, Triad)
- Restructured Wayland registry for dynamic compositor feature registration
DBus Services Restructuring
- Relocated all DBus service implementations to a dedicated DBus layer for clean separation of concerns:
- Bluetooth (service and agent)
- Keyring/secret service
- MPRIS (player and album art)
- NetworkManager (service, secret agent, type definitions)
- Notifications service
- System tray (host, manager, SNI icons, stream icons, environment filter, context menu)
- UDisks2 drive service
- Added GNOME/KScreen global shortcuts DBus service
- Added Bluetooth pairing agent implementation
- Significantly rewrote NetworkManager service to fix VPN connection state tracking, secret agent integration, and connection activation
File Structure Refactoring
- Renamed and reorganized numerous core files across the codebase to improve naming consistency and logical grouping
- Reorganized widget files into dedicated subdirectories by component type (battery, clock, media, weather, spacer, widget bar, shared utilities, app drawer, start menu)
- Removed all dock-specific component files that were refactored into shared components (dock calendar popup, control center, spotlight, tray, weather popup, volume mixer, workspace strip)
Desktop Widgets System
- Full Desktop Widget System with:
- Widget host container with dynamic placement, resize, and configuration
- Interactive calendar widget with month navigation and event indicators
- Analog and digital clock display
- Full media player widget with album art, playback controls, and progress
- System monitor widget showing CPU, memory, disk, and network usage graphs with real-time data
- Current conditions and forecast weather display
- Enhanced weather visualization with animated backgrounds
- Compositing layer for widget rendering
- Widget positioning, size, and visibility preferences
- Audio visualization data reader (CAVA integration) for visualizers
- Merged desktop widgets with the desktop experience layer
- Updated settings UI for widget configuration
Settings Application
-
Hyprland Settings Tab - Comprehensive Hyprland configuration covering:
- General settings (mod key, sensitivity, gaps, borders, cursor behavior, gestures, tearing)
- Input configuration (keyboard layout, touchpad, mouse, scroll behavior)
- Key binding management with modmask, keycode, dispatcher, and argument editing
- Decoration settings (rounding, opacity, blur, shadows, dimming, colormatrix)
- Animation configuration with per-style settings (fade, slide, windows, workspaces, border)
- Layout settings (dwindle/master/top, orientation, gap offsets, split options)
- Dwindle layout specifics (pseudo mode, no_gaps_when_only, force_split)
- Master layout specifics (new window position, master factor, smart resizing)
- Rendering settings (explicit sync, direct scanout, vsync, cursor, power optimization)
- Miscellaneous (disable_autoreload, XWayland, render ahead, NVIDIA, VRR)
- Scrolling configuration (scroll method, fingers, edge, axis)
-
Power Settings Tab - Power management with suspend, hibernate, power button action, and idle timeout
-
Time Settings Tab - Timezone selection, clock format (12h/24h), date format, NTP sync, manual time/date
-
Keyboard Settings Tab - Layout/variant selection with preview, repeat rate/delay sliders, compose key config
-
Accounts Tab - User account management, avatar change, password change
-
Bluetooth Tab - Device scanning, pairing, connection management, device removal
-
Themes Tab (rewritten) - Complete theme management with preview thumbnails, import/export, color scheme selection
-
Desktop Tab - Desktop icon layout, show/hide icons, snap-to-grid, icon size
-
Dock Tab - M3-styled dock configuration (position, size, autohide, behavior)
-
Icons Tab - Icon theme selection with preview
-
Bing Wallpaper Tab (rewritten) - Daily wallpaper with region selection, resolution, download management
-
Monitors Tab (updated) - DRM probing, GPU detection, layout editor improvements
-
Night Light Tab - Blue light filter with schedule, temperature slider, brightness
-
UI Layout Tab (rewritten) - Panel/dock layout configuration
-
Wallpaper Tab (rewritten) - Selection with thumbnails, solid colors, gradients
-
Workspaces Tab - Workspace layout and behavior configuration
-
Notification Tab (updated) - Per-app notification blocking, do-not-disturb, popup position
-
Default Apps Tab (updated) - Application association per MIME type
-
Launcher Tab (updated) - App drawer and launcher preferences
-
Network Tab (updated) - WiFi, wired, and VPN connection management with VPN add dialog rewritten
-
Sound Tab (rewritten) - Per-app audio volume, input/output device selection, mute
-
Taskbar Tab - Taskbar behavior, grouping, pinning, appearance
-
Settings serialization rewritten with JSON-based persistence for all new tabs
-
Reactive event-driven settings application with debouncing
M3 UI Framework
- Complete Material 3 UI component library including:
- Core framework: Animation engine, flexbox-style layout, focus ring, glyph rendering, typography label, separator, spacer, state layer (hover/focus/pressed)
- Controls: Banner, bottom app bar, bottom sheet, full button system (filled, tonal, outlined, text, elevated, icon), card (elevated/filled/outlined), carousel, checkbox with indeterminate state, chip (input/choice/filter/action/assist), date picker, dialog, floating action button, text input, navigation bar/drawer/rail, radio button group, search bar, dropdown select, slider (continuous/discrete/range), snackbar, tab bar (fixed/scrollable), time picker, toggle switch, top app bar
- Design tokens: Color (primary, secondary, tertiary, error, neutral, variant surfaces), elevation levels 0-5, motion duration/easing, shape corner radius, spacing scale, typography scale (display, headline, title, body, label)
- Builder pattern for constructing component trees
- Dynamic color palette generation implementing material_color_utilities in C++
- Integrated M3 theming across all settings panels (60+ tabs migrated to M3-styled rendering)
- Added color scheme fallback palette for when theme resolution fails
- Updated theme system with M3 color scheme integration and dynamic palette switching
App Drawer and Start Menu
- Split the monolithic app drawer into separate app drawer and start menu components
- App Drawer:
- Grid layout with alphabetical sorting and category filtering
- Overlay rendering with performance optimizations (cached icon surfaces, dirty region tracking)
- Per-app entry rendering with icon caching, hover states, and launch handling
- Power action executi...
Release 4.2.0
Changelog
All notable changes to Event Horizon Dotfiles will be documented in this file.
[4.2.0-Noctalia] - 2026-05-15
New Features (1)
- Dynamic Workspaces
- Toggle in Settings > Widget Tweaks > Dynamic Workspaces controls filtering across all 3 WMs (MangoWM, Hyprland, Niri)
- When enabled, workspace list shows only occupied/selected workspaces instead of padding to maxWorkspaces
Bug Fixes (21)
- #11 β Added minimize/maximize button toggles (like GNOME Tweaks)
- #19 β Fixed multi-notification stacking jumping to wrong positions
- #20 β Fixed Dock Clock Display settings not applying
- #21 β Fixed Lock button in Start Menu doing nothing
- #23 β Fixed Launcher Grid View not applying + App Drawer scale not persisting
- #24 β Fixed Volume Overdrive toggle resetting after restart
- #25 β Fixed Taskbar and Top Bar popup positioning on stacked monitors
- #26 β Fixed Launchpad always opening on secondary monitor
- #27 β Fixed Dock tooltips not showing on hover
- #28 β Hide on Games/Apps reverted to hide all docks (removed per-monitor check)
- #29 β Fixed Spotlight Search not centered on main monitor
- #30 β Fixed Dock widget popups overlapping the dock bar
- #31 β Fixed YouTube thumbnail hover spamming track-change notifications
- #32 β Removed non-functional cursor size sliders from Decorations, Misc, and Colors tabs
- #34 β Fixed Logout button in Start Menu doing nothing
- #35 β Fixed Quickshell launching twice on first boot (removed systemd service, starts via execs.lua only)
- #37 β Fixed 3-Dot menu positioning, toggle switch double-fire, wired missing signal handlers
- #38 β Fixed Spotlight Search retaining previous query on reopen
- #39 β Fixed Keybinds page empty in Settings (Lua parser support)
- #40 β Fixed monitors.lua shipping with hardcoded 3-monitor layout (auto-detection added)
- #41 β Fixed Brightness widget overlapping and missing pill background
[4.0.0-HyprLua] - 2026-05-11
New Features
-
HyprLua configuration system
- Migrated Hyprland configuration from
.confto Lua-based config viahl.config(). - Refactored
CompositorServicewithupdateLuaSetting()pipeline for all settings (input, cursor, blur, border, decoration, general). - New Lua config files:
input.lua,cursor.lua,decoration.lua,general.lua. - Replaced fragile
sed-based config edits with structured Lua writes +hyprctl reload.
- Migrated Hyprland configuration from
-
MangoWM settings expansion
- Added new
MangoMiscTabwith 559 lines of dedicated MangoWM miscellaneous configuration. - Upgraded
MangoAnimationsTabβ replaced text-field bezier curve editing withEHSlidercontrols. - Enhanced
MangoColorsTabandMangoDecorationsTabwith more granular configuration options. - Fixed MangoWM monitor detection and arrangement issues.
- Added
MonitorConfigWidgetfor improved monitor configuration.
- Added new
-
Opacity controls
- Added new dedicated
OpacityTabin Settings (162 lines) for comprehensive opacity tuning.
- Added new dedicated
Improvements
-
CompositorService refactoring
- Complete rewrite of the Hyprland configuration backend (937 lines changed) to support Lua.
- Centralized Lua update logic via
updateLuaSetting(file, path, key, value). - Added
luaValue()helper for proper Lua type serialization.
-
NetworkService cleanup
- Major simplification of network state management (1452 lines restructured/removed).
- Further consolidation of WiFi/ethernet handling and process-based operations.
-
Volume mixer redesign
- Complete overhaul of
DockVolumeMixerPopout(394 lines changed) with improved layout and controls.
- Complete overhaul of
-
Display configuration
- Enhanced
DisplayConfigTabwith newMonitorConfigWidgetand improved monitor arrangement UI.
- Enhanced
-
Audio service
- Expanded
ApplicationAudioServicewith 76 lines of new functionality for better audio device handling.
- Expanded
-
Popup positioning
- Fixed
CalendarPopup,MediaPopup, andWeatherPopuppositioning for multi-monitor layouts.
- Fixed
-
Installers
- Updated
install.shandEventHorizonInstaller.pywith new MangoWM dependencies (155 lines added).
- Updated
-
Hyprland animations
- Updated
HyprlandAnimationsTabfor Lua config compatibility.
- Updated
Bug Fixes
-
Quickshell startup
- Fixed
qs not startingissue β corrected exec paths inhypr/hyprland/execs.conf,mango/hyprmango/execs.conf, andniri/config.kdl.
- Fixed
-
MangoWM stability
- Fixed monitor detection and arrangement edge cases under MangoWM.
- Resolved various MangoWM configuration issues.
-
Version bump
- Updated
DotfilesUpdateService.qmlto version 4.0.0 "HyprLua".
- Updated
[3.7.0] - 2026-05-07
New Features
- MangoWM monitor detection
- Added dedicated
mango-monitors.jsoncache path and save pipeline for MangoWM monitor capabilities. - Added
mangoAutoCreateProcessfor independent wlr-randr-based monitor detection (runs separately from Hyprland detection). - Added
saveMangoMonitorsToCache()function to persist monitor capabilities including resolutions, refresh rates, VRR support. - Added "Auto Detect" button to monitor arrangement widget when running under MangoWM.
- Added dedicated
Improvements
-
Network Service refactoring
- Simplified WiFi/ethernet state management using Quickshell's Networking API instead of raw nmcli processes.
- Replaced individual process-based operations with
Quickshell.execDetached()for DNS, IP, IPv6, proxy, MTU, and MAC configuration. - Consolidated network info fetching into streamlined
ipFetcherandsavedConnectionLoaderprocesses. - Added compatibility stubs for legacy internal functions.
-
Popup positioning
- Fixed popup positioning for stacked monitor layouts by removing incorrect
screen.x/screen.yoffsets. - Adjusted
AppDrawerPopout,ControlCenterPopout,CalendarPopup,MediaPopup, andWeatherPopupto use screen-local coordinates correctly.
- Fixed popup positioning for stacked monitor layouts by removing incorrect
-
Hyprland configuration
- Added
hypr/eh/colors.confwith Event Horizon-themed border colors. - Increased border size from 2 to 4 pixels for better visibility.
- Added window rules for Microsoft Edge Canary.
- Added blur layer rules for Event Horizon UI namespaces.
- Added
-
Installers
- Updated
install.shandEventHorizonInstaller.pywith new MangoWM dependencies.
- Updated
Bug Fixes
- Version bump
- Updated
DotfilesUpdateService.qmlversion to 3.7.0.
- Updated
[3.6.2] - 2026-04-30
New Features
-
Native screenshots
- Added native screenshot capture flow (screencopy β file) with a dedicated service + widgets:
Services/ScreenshotService.qmlWidgets/ScreencopyFileCapture.qml
- Added an interactive region selector modal for area screenshots (
Modals/ScreenshotAreaModal.qml).
- Added native screenshot capture flow (screencopy β file) with a dedicated service + widgets:
-
Polkit authentication
- Added Polkit integration for privileged actions:
Services/PolkitService.qmlModals/PolkitAuthModal.qml
- Added Polkit integration for privileged actions:
-
Niri integration
- Added
Services/NiriService.qmland updated Niri config to align naming with Event Horizon:- Renamed
niri/dms/*βniri/eh/* - Updated
niri/config.kdlaccordingly
- Renamed
- Added
Improvements
-
Dotfiles updater
- Updated
DotfilesUpdateService.qmlbehavior (cleanup + simplification of update logic).
- Updated
-
Settings / templates
- Updated
TemplatesTab.qmlandKeybindsTab.qml(cleanup + alignment with the new screenshot/keybind workflow). - Small Theme/SettingsData updates to support the new modals/services.
- Updated
-
Shell
- Integrated the new screenshot + polkit flows into
shell.qml.
- Integrated the new screenshot + polkit flows into
-
Matugen
- Updated the Matugen worker script (
scripts/matugen-worker.sh) and removed the old bundleddms-theme.vsix.
- Updated the Matugen worker script (
-
Installer script
- Updated
install.sh(removed remaining systemd wiring and other small cleanup).
- Updated
Bug Fixes
- Build / stability
- General cleanup from test build iteration (
2fd8d2c).
- General cleanup from test build iteration (
[3.6.0] - 2026-04-30
New Features
-
Installers
- Updated both installers (
EventHorizonInstaller.py,install.sh) with explicit support for Niri, Hyprland, and MangoWM flows.
- Updated both installers (
-
Desktop widgets
- Added multiple new desktop widgets and embeds:
DesktopAnalogClockWidget.qmlDesktopEventHorizonWidget.qml(new Event Horizon Dashboard desktop widget)- Adds a tabbed desktop dashboard: Home, Media, Weather (optional), Calendar, and Settings.
- Integrates with MPRIS to show/control the active media player.
- Adds dashboard embeds for at-a-glance panels (calendar + weather) and scales them to fit the dashboard content area.
- Adds per-instance appearance controls (transparency, panel/card background strength, border opacity/thickness, tab bar opacity, animated tint).
- Includes a built-in mini settings page for common toggles (weather enable, Β°F/Β°C, 24h clock, light mode preference, and quick links to full Settings).
EventHorizonSettingsMini.qmlDashCalendarEmbed.qmlandDashWeatherEmbed.qml(dashboard embeds)WeatherDashEmbed.qml
- Added multiple new desktop widgets and embeds:
-
Popups
- Split large popups into dedicated content components:
MediaPopupContent.qml(with a.baksnapshot kept in-repo)WeatherPopupContent.qml
- Split large popups into dedicated content components:
Improvements
- Major UI cleanup / consistency
- Large refactor and cleanup across Control Center surfaces (standard, Dock, MiniPanel, TaskBar, TopBar):
- Reworked
CompoundPill,WeatherPill,ToggleButton,PerformancePill,HeaderPane, andWidgetGridfor consistency and reduced duplication. - Simplified/removed duplicated
DetailHostusage across multiple surfaces where no longer needed. - Updated layout utils to match the new component structure (
utils/layout.jsacross s...
- Reworked
- Large refactor and cleanup across Control Center surfaces (standard, Dock, MiniPanel, TaskBar, TopBar):