Skip to content

Alpha 2 0.8.0

Pre-release
Pre-release

Choose a tag to compare

@ryzendew ryzendew released this 05 Jun 14:36
· 7 commits to main since this release
073c6f1

[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 notifSliderDrag replacing separate notifTimeoutSliderDrag and notifToastGeomSliderDrag
  • New geometry helpers: notif_app_geom(), apply_notifications_slider_x(), notifications_primary_test_button_geom()
  • Added notificationsScalePct setting (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 to launcher_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 to workspace_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 .inl inline files with M3-styled .hpp components (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-adm in 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 (opaquePanel parameter skips glass highlight)
  • Fixed scroll paint/click mismatch for power tab (now maps activeTab == 32 to app.settingsPowerScrollPx)
  • Fixed power button dropdown popup not rendering (geometry was overwritten by lid close)
  • Fixed all 5 power dropdown hover tracking in on_pointer_motion handler
  • 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 ptyxis terminal theme template, fixed keyword fallback syntax (tries key:value and key/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
image