quickshell: native volume/brightness OSD, drop swayosd + wob

Sixth surface in the SDF chrome shader, melting out of the bottom
frame. Volume is reactive via Pipewire so the OSD also fires for
pavucontrol/mixer changes; brightness routes through a new osd IPC
handler since sysfs backlight only notifies via POLLPRI.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-07-28 12:35:44 +01:00
parent 3b0133ff3c
commit efd1331823
3 changed files with 160 additions and 42 deletions

View file

@ -57,26 +57,6 @@
scale = "auto";
}];
# wob reads 0-100 integers from a FIFO and shows a progress bar overlay
systemd.user.services.wob = {
Unit = {
Description = "Wayland OSD Bar";
After = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
};
Service = {
Type = "simple";
ExecStart = "${pkgs.writeShellScript "wob-start" ''
rm -f "%t/wob.fifo"
mkfifo "%t/wob.fifo"
tail -f "%t/wob.fifo" | ${pkgs.wob}/bin/wob
''}";
ExecStopPost = "${pkgs.coreutils}/bin/rm -f %t/wob.fifo";
Restart = "on-failure";
};
Install.WantedBy = [ "graphical-session.target" ];
};
systemd.user.services.nemo-warmup = {
Unit = {
Description = "Pre-warm Nemo file manager libraries";