- Add Osd.qml: themed top-center popup for volume/mic/brightness/media
changes. Volume and mic react directly to Pipewire so they fire for
any change, not just our own keybinds; brightness is notified
explicitly (no live service exists for DDC/CI writes); media is
driven by two playerctl --follow watchers (status + metadata) so
track changes, pause/resume, and stop all show correctly without
double-firing
- Add Super+Shift+Z/X to toggle the Left/RightBar sidebars, via a new
Quickshell IpcHandler wired to the same expand/collapse logic as the
BottomBar arrows
- Add function-key binds for volume up/down/mute, mic mute, brightness
up/down, and media play/pause/stop/next/prev (wpctl/playerctl);
extend brightness-ctl with relative up/down steps for both the
backlight and DDC/CI paths
- Add gh and playerctl to packages
- Persist last-set wallpaper and restore it via exec-once, since
hyprpaper/mpvpaper start every session with nothing loaded
- Fix Vesktop's system tray icon rendering as a broken texture: only
resolve tray icons through the icon theme when they're actual names,
not raw pixmap-sourced image:// URLs
- Launch Hyprland via start-hyprland (its official watchdog launcher)
instead of the raw binary, removing the startup warning and adding
hang recovery
- Fix Booru panel: Lewds toggle now actually persists, tag autocomplete
no longer drops/races overlapping requests, and pagination wraps
instead of overflowing off-screen
- Remove the redundant gap between windows and sidebars/tiles
(gaps_in/gaps_out, and duplicate flyout margins stacked on top of
Hyprland's automatic exclusive-zone inset)