feat(waybar): right-click volume opens a floating pwvucontrol mixer
All checks were successful
Check / eval (push) Successful in 2m55s

Right-clicking the Waybar volume module now opens pwvucontrol (per-app
mixer); left-click still mutes. Adds:

- on-click-right in waybar.nix + all four whole-swap jsoncs (parity)
- hyprland.nix: the config's first windowrule block — float + center the
  mixer (pwvucontrol, with pavucontrol as a fallback class); normal-
  priority list so a downstream windowrule concatenates
- pwvucontrol in the template home.packages

pwvucontrol is PipeWire-native + GTK4/libadwaita, so it themes via the
portal color-scheme like Amberol. app-id verified from the built package.
This settles the windowrule pattern/placement; item 41 is now just
broadening the float set. Right-click→float→center is a V3 session check.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 22:31:00 +01:00
parent 239c3c4551
commit 28a28e05d3
10 changed files with 53 additions and 24 deletions

View File

@@ -257,32 +257,16 @@ summer-day/summer-night) — all deliberately set `scrollbar { width:0 }`
today, each needs a per-theme handle width/colour. Payoff is V3-only
(rendering), so it wants a themed session, not a headless edit.
### 35. Right-click volume → audio control app
(Raised by Bernardo, 2026-07-07 — item 5.) Right-click the Waybar
`pulseaudio` module to open a mixer in a floating window. Wire
`on-click-right` in `waybar.nix` AND the whole-swap jsoncs (parity rule);
add a Hyprland `windowrulev2 = float` for the mixer. Ship the mixer in
the template's `home.packages`.
_Scoped 2026-07-07 (held for item 41):_ the on-click-right wiring is
trivial, but the float rule needs the windowrule infrastructure that
**does not exist yet** — there are currently **zero** `windowrule`s in
the whole config, and item 41 is where that set gets designed list-first
(Bernardo's call). So this is gated on 41, not independently shippable
without inverting his 41→35 plan. **Mixer recommendation:** `pwvucontrol`
(PipeWire-native, GTK4/libadwaita → themes via the portal color-scheme
like Amberol; the distro is already wpctl/PipeWire). app-id for the float
rule: `com.saivert.pwvucontrol`. (`pavucontrol` is the GTK3 fallback.)
### 41. Floating-window audit
(Raised by Bernardo, 2026-07-07 — item 11.) Decide which windows should
open floating by default (config dialogs, mixer, file-chooser portals,
calculators, etc.) and add the `windowrulev2 = float` rules in
`hyprland.nix`. Enables items 35/36b. Produce the list first, then the
rules.
_Note 2026-07-07:_ this establishes the **first** windowrule block in the
config (none exist today) — so it also owns the decision of where the
rules live and their format. Once the pattern's set, 35's mixer float and
36b fall out of it.
open floating by default (config dialogs, file-chooser portals,
calculators, etc.) and add the `windowrule` float rules in
`hyprland.nix`. Enables item 36b. Produce the list first, then the rules.
_Note 2026-07-07:_ the **first** `windowrule` block now exists (added by
item 35 — the mixer floats + centers), so the pattern + placement are
set. 41 is now purely "broaden the set" — audit the template app suite,
pick the dialog/utility classes, append rules. Still list-first
(Bernardo's taste on what should float), so it wants his review.