Alpha 2 0.8.0
Pre-release
Pre-release
[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
