|
Scaffold the repo that will hold quickshell implementations, each in its
own directory with its own README, and add the first one.
volume-osd shows an on-screen display for output and input volume. It
watches PipeWire through Quickshell's native service rather than polling
wpctl, so it appears for any volume change, not only for the keybinds:
pavucontrol, a per-application slider, or a phone acting as a remote.
One widget serves both directions, showing whichever device moved last.
Colours follow unified-desktop-theme: Catppuccin Macchiato fixed, with
the accent read from the file udt-accent already writes and watched, so
it tracks the wallpaper. Lavender is the fallback, which keeps the
directory runnable where that file does not exist.
The frosting is the compositor's: the panel draws translucent and
Hyprland blurs behind it via a layerrule matched on the window's
namespace. That avoids a MultiEffect and an offscreen blur pass in QML,
and degrades to flat translucent without the rule.
Two details are documented in the component README because both were
wrong before they were right: PwObjectTracker is required or the volume
reads stale, and a node reports its initial volume before `ready` goes
true, so the ready check alone suppresses the startup values. An extra
guard on top of it ate the user's first keypress instead.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G7NRsGyF9jGfPYS4zPqpN7
|