feat: swayosd on-screen display for volume/brightness/mute
The media keys called wpctl/brightnessctl directly with no visual feedback — changing volume showed nothing on screen. Now they drive swayosd-client, which performs the action AND shows a themed OSD. - modules/home/osd.nix: services.swayosd, style.css generated from the palette (base bg, accent progress/border); nomarchy.osd.enable. - hyprland media binds → swayosd-client (--output-volume raise/lower/ mute-toggle, --input-volume mute-toggle, --brightness raise/lower). - modules/nixos: services.udev.packages = [ swayosd ] installs the backlight rule (chgrp video + g+w) so brightness works for video-group users without root (the installer/live user is in video). swaync is unaffected (it was already running — this was purely the missing OSD). Verified: flake check green, swayosd.service bound to graphical-session.target, hyprland config verifies, swayosd in the live ISO closure. On-screen rendering needs a real session to confirm. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
./swaync.nix # notification daemon, themed from the same JSON
|
||||
./idle.nix # hyprlock + hypridle, themed from the same JSON
|
||||
./yazi.nix # flagship TUI file manager, themed + plugins
|
||||
./osd.nix # swayosd volume/brightness OSD, themed
|
||||
];
|
||||
|
||||
# Clipboard history (wl-paste watcher); browsed via the SUPER+CTRL+V
|
||||
|
||||
Reference in New Issue
Block a user