Changelog

Version history of the WifeRice dotfiles.

v1.7.93 2026-05-27
  • CRITICAL FIX: swayidle fully removed — replaced with hypridle-git from AUR. swayidle -w flag blocked 66min suspend because Lock.qml never exits
  • FIXED: hypridle.conf now ACTIVE — handles lock before sleep, idle timeout lock (33min), and idle timeout suspend (66min) via independent listeners (no -w blocking)
  • FIXED: Deep S3 (mem) broken on Lenovo laptops — immediate wake in ~2.8s. s2idle forced via mem_sleep_default=s2idle kernel parameter
  • CHANGED: install.sh — swayidle removed from pacman list, hypridle-git installed from AUR, hypridle.conf deployed on install/update
  • CHANGED: autostart.conf, settings.json, default_settings.json now all use hypridle (not swayidle)
  • FIXED: USB wake enabled on s2idle (XHC in /proc/acpi/wakeup)
  • FIXED: Polkit rule created for loginctl lock-sessions without password
v1.7.92 2026-05-26
  • CHANGED: SDDM assets moved to system paths only~/.config/hypr/LoginScreen Settings/ directory has been removed entirely. SDDM runs as the sddm user and cannot traverse 700 home directories — this was the root cause of the blank login screen for many users. All SDDM files now live under /usr/share/sddm/. QML theme files always update on every install. Wallpaper/face icons respect SDDM_OVERWRITE prompt.
  • FIXED: SDDM wallpaper FastBlur now works — bgWallpaper visible changed from false to true so the source image can be read by the blur effect.
  • FIXED: SDDM avatar Image block had collapsed one-line QML — properly formatted now. .face.icon system path works correctly.
  • NEW: background.png fallback deployed on every install/restore — even if users delete all wallpaper.* files, SDDM will never go blank. Multi-format fallback: wallpaper.pngwallpaper.jpgwallpaper.jpegwallpaper.webpwallpaper.bmpbackground.png.
  • CHANGED: install.sh and restore.sh — SDDM QML files now deploy on every update unconditionally (not gated by KEEP_WALLPAPERS or SDDM_OVERWRITE). Wallpaper and face icon deployment respects SDDM_OVERWRITE. LoginScreen Settings references removed from installer, restorer, and GuidePopup tips (changelog entries kept as historical record).
  • FIXED: Website FAQ SDDM section corrected — now documents system paths (/usr/share/sddm/themes/matugen-minimal/, /usr/share/sddm/faces/) and explains why home-directory paths don't work with SDDM's sddm user permissions.
v1.7.91 2026-05-25
  • FIXED: SDDM wallpaper and avatar paths changed from file:/// URLs to absolute paths — file:/// URLs with spaces or percent-encoding can fail on some Qt/SDDM versions. Plain absolute paths work universally.
v1.7.90 2026-05-25
  • FIXED: User override directories (~/.config/hypr/Faces/, LoginScreen Settings/, Lockscreen Wallpaper/) — install.sh and restore.sh now NEVER overwrite existing user files.
  • FIXED: System SDDM directories (/usr/share/sddm/faces/, /usr/share/sddm/themes/matugen-minimal/) — now always overwritten with latest defaults on every update.
  • FIXED: Face icon now deployed to /usr/share/sddm/faces/ (was missing — SDDM avatar would fail when LoginScreen Settings was empty).
  • FIXED: restore.sh SDDM theme deploy no longer skips if directory already exists — always updates to latest.
v1.7.89 2026-05-25
  • FIXED: GuidePopup face icon cache now re-validates resolved path — if cached file no longer exists, rescans all face icon locations.
  • FIXED: SDDM avatar .face fallback was blocked by incorrect else if condition — now uses indexOf('.face.icon') so fallthrough works correctly.
  • FIXED: SDDM wallpaper relative path in theme.conf — replaced with fully-qualified path to theme directory for consistent resolution.
  • FIXED: install.sh and restore.sh now self-deploy during updates (they live outside Hyprland/scripts/ and were missed by rsync).
  • FIXED: Deployed restore.sh now uses generic .face.icon instead of per-username ${CURRENT_USER}.face.icon.
v1.7.82 2026-05-24
  • FIXED: All ~/.Wallpapers/ references removed — no fallback, no migration code left behind
  • CHANGED: Face icon and lockscreen wallpaper paths consolidated under ~/.config/hypr/Faces/ and ~/.config/hypr/Lockscreen Wallpaper/
  • FIXED: DOTS_VERSION in install.sh finally bumped to 1.7.82 (was stuck at 1.7.78 — users never saw update notifications)
v1.7.81 2026-05-23
  • CHANGED: Face icon and lockscreen wallpaper organized under ~/.config/hypr/ — QML and scripts read from new paths first
  • FIXED: .face.icon deploy now copies hidden files correctly with /./ source path instead of * glob
v1.7.80 2026-05-23
  • FIXED: USB sounds path in deployed usb_sound.sh was stale (pointed to sounds/ not sounds/usb/)
  • FIXED: .face.icon now deployed to correct location that QML actually reads
v1.7.79 2026-05-23
  • REMOVED: Steam removed from install.sh AUR packages — saves 1.5GB of forced downloads; users who need it install manually
v1.7.78 2026-05-23
  • CHANGED: Network sounds (connect, disconnect, error, power_on, power_off, switch) converted from WAV to MP3 — 2.1MB → 220KB
  • CHANGED: Network sounds organized into subfolders inside sounds/network/: connection/, power/, navigation/
  • CLEANUP: Old network/sounds/ WAV files cleaned up on update
v1.7.77 2026-05-23
  • FIXED: Old MP3 sound files from previous versions now properly cleaned up on update
v1.7.76 2026-05-23
  • SECURITY: Input validation and path sanitization hardening across installer scripts
  • FIXED: Path traversal risks mitigated in file copy operations
v1.7.74 2026-05-23
  • CRITICAL FIX: swayidle 66min-timeout was set to DPMS off only — now triggers systemctl suspend after display off, preventing battery drain on laptops
v1.7.73 2026-05-23
  • CHANGED: All sound MP3s reorganized into quickshell/sounds/ subfolders by device type — USB, network, battery — for maintainability
v1.7.72 2026-05-23
  • FIXED: GuideAbout section displayed "Imperative" instead of "WifeRice" — branding fixed
v1.7.88 2026-05-24
  • CHANGED: SDDM wallpaper now supports any image format (PNG, JPG, JPEG, WEBP, BMP) in ~/.config/hypr/LoginScreen Settings/Wallpaper/
  • CHANGED: GuidePopup tip updated — now points to LoginScreen Settings/ override folder instead of system SDDM path
  • FIXED: Repo SDDM Main.qml now has multi-format wallpaper fallback (was limited to wallpaper.png only)
v1.7.87 2026-05-24
  • NEW: SDDM login screen reads ~/.config/hypr/LoginScreen Settings/ first — drop wallpaper and face icon there to customize login without sudo
  • CHANGED: SDDM avatar fallback chain: LoginScreen Settings → /usr/share/sddm/faces/.face.icon/usr/share/sddm/faces/.face
  • CHANGED: SDDM wallpaper fallback chain: LoginScreen Settings → theme default
  • CHANGED: install.sh and restore.sh deploy defaults to LoginScreen Settings/
v1.7.86 2026-05-24
  • CHANGED: Face icon deployed only to ~/.config/hypr/Faces/.face.icon~/.face.icon and ~/.face are manual-only fallbacks
  • FIXED: restore.sh condition and summary no longer reference username-specific face icon paths
  • FIXED: install.sh no longer copies face icon to ~/.face.icon
v1.7.85 2026-05-23
  • FIXED: SDDM face icon now reads /usr/share/sddm/faces/.face.icon (generic) with fallback to .face instead of per-username file
  • FIXED: SDDM theme Main.qml updated with onStatusChanged Image.Error fallback chain for avatar
  • CHANGED: restore.sh copies face icon to /usr/share/sddm/faces/.face.icon only
v1.7.84 2026-05-23
  • FIXED: GuidePopup tipOpacity fatal error on non-About tabs — Behavior removed from all tabs except About
  • FIXED: CPU stat stuck at 0% — top -bn1 awk syntax fix + ps fallback
  • FIXED: Uptime stuck at "Loading..." — resource monitor now populates sysUptime
  • FIXED: Uptime format changed from "X hours, Y minutes" to "Xh Ym"
v1.7.83 2026-05-23
  • NEW: GuidePopup System tab — rotating tips with SVG lightbulb icon, glass-morphism card, fade transitions
  • NEW: System tab Quick Stats — live CPU%, RAM, Disk, Uptime via resource monitor
  • CHANGED: Rotating tips moved from About tab to System tab; About tab shows only links + version
  • NEW: tip_icon.svg — custom lightbulb SVG icon with gradient fills and glow dots
v1.7.81 2026-05-23
  • CHANGED: Face icon and lockscreen wallpaper organized under ~/.config/hypr/ — QML and scripts read from new paths first
  • FIXED: .face.icon deploy now copies hidden files correctly with /./ source path instead of * glob
v1.7.80 2026-05-23
  • FIXED: USB sounds path in deployed usb_sound.sh was stale (pointed to sounds/ not sounds/usb/)
  • FIXED: .face.icon now deployed to correct location that QML actually reads
v1.7.79 2026-05-23
  • REMOVED: Steam removed from install.sh AUR packages — saves 1.5GB of forced downloads; install manually with yay -S steam
v1.7.78 2026-05-23
  • CHANGED: Network sounds (connect, disconnect, error, power_on, power_off, switch) converted from WAV to MP3 — 2.1MB → 220KB
  • CHANGED: Network sounds organized into subfolders: sounds/network/connection/, sounds/network/power/, sounds/network/navigation/
v1.7.77 2026-05-23
  • FIXED: Old MP3 sound files from previous versions now properly cleaned up on update — removes stale duplicates
v1.7.76 2026-05-23
  • SECURITY: Hardened shell script input validation across audio_autoswitch.sh and usb_sound.sh — prevents potential command injection via malformed USB device descriptors
  • SECURITY: Patched path traversal vector in settings_watcher.sh — sanitized template variable substitution
v1.7.75 2026-05-23
  • SECURITY: Fixed unsafe temporary file handling in install.sh and restore.sh — migrated from predictable /tmp paths to mktemp-based random directories
  • SECURITY: Patched potential privilege escalation in udev rule cleanup — restricted rule removal to owner-only operations
v1.7.74 2026-05-23
  • CRITICAL FIX: swayidle 66-min timeout used hyprctl dispatch dpms off instead of systemctl suspend — display stayed black after unlocking, requiring force restart
  • CHANGED: swayidle timeout 4000 now runs systemctl suspend — after-resume fires correctly on wake, display turns back on
v1.7.73 2026-05-23
  • CHANGED: All sound MP3s reorganized into quickshell/sounds/{battery,usb,updater,music}/ subfolders — consistent single location
  • CHANGED: Script paths updated in battery_fetch.sh, usb_sound.sh, update_notifier.sh, music_control.sh, lock.sh
  • CLEANUP: Old empty battery/ and music/ directories removed
v1.7.71 2026-05-23
  • FIXED: Kitty no longer crashes during update — hyprctl reload now runs detached after the install script exits (was synchronous, disrupted Wayland session and crashed the terminal)
  • FIXED: USB sound MP3 files no longer silently lost — now shipped in the repo at Hyprland/sounds/ and copied every update instead of generated once by ffmpeg
  • FIXED: install.sh uses systemctl --user restart for audio-autoswitch.service instead of kill $pids — prevents stale duplicate process instances that caused multiple sounds
  • FIXED: settings_watcher.sh --compile reload also detached to prevent kitty crash during updates
v1.7.70 2026-05-23
  • CRITICAL FIX: Ctrl+Left/Right workspace navigation never worked — keybinding was only in generated keybindings.conf but NOT in keybinds.conf.template, so it was silently wiped on every settings_watcher --compile
  • FIXED: USB sounds played multiple times per plug/unplug — udev fires multiple events for one action. Added short 1s dedup rate limiter back to usb_sound.sh.
  • CHANGED: install.sh defaults flipped — Enter now overwrites configs (was 'keep'). Updates actually update users now. Type Y explicitly to keep old configs.
  • NEW: AI Rule 11 — 'When we ship an update, the user gets it'. No more preserve defaults that silently skip updates.
v1.7.69 2026-05-23
  • CRITICAL FIX: USB/device sounds still not playing — udev RUN → su → pw-play chain was fundamentally unreliable (PipeWire not accessible from udev context)
  • REPLACED: Removed udev RUN rules approach entirely — USB monitoring is now built directly into audio_autoswitch.sh (same script, same service, one less service to manage)
  • SAME METHOD AS BATTERY SOUNDS: Uses udevadm monitor --property (no root) in a background fork inside audio_autoswitch.sh — runs as a user process with full PipeWire access, same as battery_fetch.sh
  • NEW: audio_autoswitch.sh now has a background USB udev monitor alongside the existing pactl subscribe audio listener — no separate service, no separate script
  • FIXED: Old 99-usb-sound.rules automatically removed from /etc/udev/rules.d/ on update
v1.7.68 2026-05-22
  • FIXED: USB/device sounds not playing for many users — udev rules were too restrictive
  • FIXED: Block rule now uses ENV{ID_BUS}=usb instead of ID_FS_USAGE=filesystem for reliable USB storage detection
  • FIXED: USB device rule no longer requires ENV{ID_MODEL}=?* — some devices don't report model strings; matched by vendor ID only
  • NEW: usb_sound.sh --test plays both plug/unplug chimes for manual troubleshooting
  • NEW: usb_sound.sh --check shows diagnostics (sound files, PipeWire status, boot guard state)
  • FIXED: udev rule install errors no longer hidden behind 2>/dev/null — logged with visible warning on failure
v1.7.67 2026-05-22
  • FIXED: settings_watcher.sh --compile errors were silently swallowed by 2>/dev/null || true — if monitors.conf generation failed, Hyprland fell back to default 1.5 scale with no warning
  • FIXED: install.sh now logs compile errors to the install log and shows a yellow warning instead of a green checkmark when the compile step fails
v1.7.66 2026-05-22
  • NEW: USB/device plug/unplug notification sounds — ascending chime on connect, descending on disconnect
  • NEW: udev rules for USB storage (flash drives, external HDDs) and general USB devices (mice, keyboards, headsets)
  • NEW: Headphone/Bluetooth plug/unplug sounds via audio_autoswitch.sh pactl integration
  • NEW: usb_sound.sh with rate limiting (2s cooldown) and boot-time protection (skips first 60s of enumeration)
  • NEW: ffmpeg-generated chime sounds at install time — no binary blobs in repo
  • FIXED: Safe udev execution via su with XDG_RUNTIME_DIR set for PipeWire connectivity
v1.7.65 2026-05-22
  • NEW: swayimg — lightweight Wayland-native image viewer with pixelation/blur censor keys
  • NEW: MIME associations — Thunar for folders (fixes Discord/Vencord "Open folder" opening Gwenview), Gwenview for image editing
  • NEW: Ctrl+Left/Right workspace navigation — no interference with Super+1-10 or 3-finger swipe
  • FIXED: restore.sh version made dynamic — reads from installed state file with fallback (was stuck at v1.7.59)
  • FIXED: Proton VPN package removed from install.sh — not found in AUR, fallback also failed silently
v1.7.64 2026-05-22
  • FIXED: QuickShell package conflict — replaced official repo quickshell with AUR quickshell-git (same QML API, no conflict with existing git installs)
  • Users who already have quickshell-git from AUR no longer see conflict errors during install or reinstall
  • Same fix pattern as v1.7.63 for VS Code
v1.7.63 2026-05-22
  • FIXED: VS Code package conflict — replaced official repo code with AUR visual-studio-code-bin (Microsoft's official binary)
  • Users who already have visual-studio-code-bin from AUR no longer see conflict errors during install
v1.7.62 2026-05-22
  • FIXED: Hyprland config error "input:touchpad:accel_profile does not exist" — removed invalid line from touchpad sub-block
  • accel_profile = flat in main input block already applies to both mouse and touchpad
  • Final polish: all 64 audit issues, scale cascade, gaming settings complete
v1.7.61 2026-05-22
  • CRITICAL FIX: Scale bug regression (v1.7.50) — settings_watcher.sh --compile triggered hyprctl reload which spawned a second watcher from the startup list. Two watchers raced, creating a cascade of reloads that reset the scale to ~1.5 despite monitors.conf saying scale=1
  • FIXED: Added PID lock file to settings_watcher.sh — prevents duplicate instances. --compile now kills old watcher before running. Scale-forcing code already existed but was defeated by the cascade
  • NEW: Mouse acceleration disabled (accel_profile = flat) — precise aiming for gamers
  • NEW: Touchpad acceleration disabled (touchpad accel_profile = flat)
  • Version bumped to 1.7.61
v1.7.60 2026-05-22
  • FIXED: ttf-ms-win11-auto AUR package consistently fails to build (symlink error, exit status 4) — Microsoft blocks auto-downloads
  • REPLACED with ttf-liberation (metric-compatible Arial/Times New Roman/Courier New) and ttf-dejavu (wider Unicode coverage)
  • Confirmed via real v1.7.59 installation log — this was the only error in a 1705-line, 20-step install
  • Version bumped to 1.7.60
v1.7.59 2026-05-22
  • MASSIVE AUDIT FIX: Full 64-issue audit resolved — all 7 phases complete
  • install.sh overhaul: All 12 empty steps filled with real packages (GPU drivers, PipeWire, yay, codecs, fonts, Flatpak, Spicetify, LazyVim), sudo pacman -Sy added, yay properly installed, 2>/dev/null removed, rsync --delete guarded against empty source, set -e hardened with || true
  • SECURITY: All 14 Discord webhook tokens extracted from source scripts into shared config file — zero tokens in public code
  • CRITICAL FIX: lock.shkill "" bug was killing ALL processes (PID 0); division-by-zero crash on empty music playlist
  • CRITICAL FIX: fetch_workspaces.sh — unquoted heredoc caused JSON injection from env vars
  • FIXED: restore.sh — version no longer hardcoded to 1.7.20, chmod uses find (not glob), tilde replaced with $HOME
  • FIXED: theme_profiles.sh — wallpaper now actually applies via awww img
  • FIXED: check_disk.sh, toggle_gaming.sh, toggle_powerprofile.sh — sudo commands guarded with timeout to prevent hangs
  • FIXED: update_notifier.sh — notification button click now opens terminal
  • FIXED: volume_listener.sh — locale-independent parsing with LC_MESSAGES=C
  • FIXED: tilde → $HOME across all script files (settings_watcher.sh, restore.sh, theme_profiles.sh, reload.sh)
  • FIXED: hypridle.conf no longer deployed (swayidle is the default)
  • FIXED: default_settings.jsonuiScale 1.0 → 1 (int consistency)
  • Version bumped to 1.7.59 — 29 files changed, +444 / −101 lines
v1.7.58 2026-05-22
  • CRITICAL FIX: Thunar and file managers showed no thumbnails — all thumbnail packages (tumbler, ffmpegthumbnailer, webp-pixbuf-loader, libopenraw, libgepub) were never actually installed by install.sh
  • WebP images now show thumbnails (webp-pixbuf-loader), RAW camera photos (libopenraw), EPUB books (libgepub)
  • Freedesktop thumbnail cache cleared on install so thumbnails regenerate fresh
v1.7.57 2026-05-20
  • FIXED: External NTFS hard drives (Windows USB drives, external HDDs) failed to mount in Thunar — "wrong fs type" error caused by kernel ntfs3 driver conflicting with ntfs-3g FUSE driver
  • Installer now auto-installs ntfs-3g, blacklists kernel ntfs3 driver, and unloads it immediately — no reboot needed
  • Drives appear in Thunar → Devices sidebar automatically after install/update
v1.7.56 2026-05-20
  • FIXED: Guide popup changelog was stuck at v1.7.52 — v1.7.53, v1.7.54, and v1.7.55 entries were missing from the hardcoded ListModel
  • Added "must update GuidePopup.qml" rule to AI memory to prevent recurrence
v1.7.55 2026-05-20
  • CRITICAL FIX: settings.json still referenced hypridle — autostart.conf regenerated with hypridle on compile, but hypridle was removed. Result: no idle daemon, lid close suspended without locking
  • Fixed settings.json and default_settings.json to use swayidle directly
  • Bumped DOTS_VERSION so users receive the update notification
v1.7.54 2026-05-20
  • FIXED: hypridle crash (SIGSEGV) — replaced with swayidle. hypridle v0.1.7 had ABI mismatch with sdbus-c++ 2.3.0
  • FIXED: No more polkit auth prompts on lid close — Lock.qml runs directly via WlSessionLock Wayland protocol
  • FIXED: lock-session → lock-sessions (plural) in config
  • CHANGED: swayidle is now the default idle daemon — simpler, no ABI issues, no polkit needed
  • swayidle handles lid-close lock, idle timeout (2000s), and DPMS-on after resume
  • NEW: Display auto-off after 66min idle (33min lock + 33min dpms-off) — 2-stage timeout
v1.7.53 2026-05-20
  • All toggle buttons (Caffeine, Night Light, DND, Power Profile, Gaming, VPN) removed — streamlined for coders
  • System Monitor and Quick Notes buttons removed from left sidebar
  • Gaming Mode entirely removed
  • SVG Icon engine: all emoji replaced with crisp PathSvg vector icons
  • New SvgIcon.qml reusable component using Qt Quick Shapes
  • TopBar cleaner and tighter with only essential buttons
v1.7.52 2026-05-18
  • ADDED: Caffeine Toggle — systemd-inhibit prevents suspend, TopBar indicator
  • ADDED: Night Light — wlsunset blue light filter (3500K), auto-installs if missing
  • ADDED: Do Not Disturb — suppress all QuickShell notifications, TopBar toggle
  • ADDED: Power Profile Switcher — cycle balanced/performance/power-saver
  • ADDED: Gaming Mode — disables compositor effects, performance governor, DND+Caffeine
  • ADDED: VPN Quick Manager — toggle first WireGuard VPN via NetworkManager
  • ADDED: Quick Notes — floating text popup saves to ~/Notes.md (Super+Shift+N)
  • ADDED: System Monitor — live CPU/RAM/disk bars with 2s polling (Super+Shift+M)
  • ADDED: Workspace Overview — visual grid of all workspaces with window lists
  • ADDED: Theme Profiles — save/restore wallpaper + toggle states
  • ENHANCED: TopBar now has 6 new toggle buttons + 2 new utility buttons
  • All new features have Super+Shift+ keybinds and TopBar buttons
v1.7.50 2026-05-18
  • CRITICAL FIX: hyprctl reload does NOT apply monitor scale changes — settings_watcher now runs hyprctl keyword monitor for each monitor after reload to force scale changes
  • Fixes the "everything oversized" bug (Chrome, kitty, fonts, notifications too big after update)
  • install.sh now calls settings_watcher.sh --compile after scripts deploy to regenerate monitors.conf
v1.7.49 2026-05-18
  • CRITICAL FIX: Fix terminal crash on update — GuidePopup.qml update buttons used double quotes in bash -c, now uses single quotes + eval
  • CRITICAL FIX: install.sh never called settings_watcher.sh --compile after deploying settings.json — now compiles to regenerate monitors.conf and reload Hyprland
  • settings.json always overwritten with auto-detected monitor name (backup to /tmp/, JSON validation restores backup on failure)
v1.7.48 2026-05-18
  • Auto-detect monitor name on fresh install — reads first connected display from sysfs
  • Injects real monitor name into settings.json instead of hardcoded eDP-1
  • Falls back to default if detection fails or jq missing; JSON validation ensures validity
v1.7.47 2026-05-17
  • settings.json protected from overwrite on update (policy later reverted in v1.7.49)
v1.7.46 2026-05-17
  • FIXED: Audio auto-switch no longer overrides manual sink changes — only reacts to plug/unplug events
  • Telemetry prompt moved to beginning of install
  • Opting out of telemetry removes old scripts and timers
v1.7.45 2026-05-17
  • Telemetry opt-out prompt before script deployment
  • Matugen v2/v3 detection with compatibility warning for v3 users
v1.7.44 2026-05-16
  • Watcher auto-restart on update — install.sh kills and restarts watchers after deploy
  • Fixes take effect immediately without manual restart
v1.7.43 2026-05-16
  • USB audio auto-switch — fixed audio_autoswitch.sh not detecting USB audio devices
  • Added "usb" to external device pattern for USB sink detection
v1.7.42 2026-05-16
  • QuickShell auto-deploy: install.sh now uses rsync to deploy entire quickshell/ directory
  • Deprecated DDG search files removed after rsync
  • Keybinds page on website corrected to match actual keybindings.conf
v1.7.41 2026-05-15
  • Smart input validation: installer now validates paths and user input
  • Better error messages for missing dependencies
v1.7.40 2026-05-14
  • Input validation for installer prompts
  • Safe copy patterns (cp -a source/. target/)
v1.7.39 2026-05-13
  • Changelog history tab added to GuidePopup.qml
  • Recent changes now visible in-app
v1.7.38 2026-04-20
  • WallpaperPicker color filter improvements
  • Thumbnail cache auto-pruning on open
v1.7.37 2026-04-10
  • Lock screen music player initial release
  • Local MP3 playback with PAM authentication
v1.7.36 2026-03-28
  • Floating sidebar with quick actions and system stats
  • Edge hover activation
Back to Home