feat(hyprland): float+center Bluetooth + printer config dialogs
All checks were successful
Check / eval (push) Successful in 3m8s

Conservative first cut of the floating-window audit (item 41): float and
center the two shipped, unambiguous config dialogs — blueman
(manager/adapters) and system-config-printer — alongside the mixer. Uses
(?i) class regexes tolerant of the XWayland `.…-wrapped` form, consistent
with the existing (?i) usage in this file.

Deliberately conservative: network is dmenu/nmtui (no GUI editor), and the
polkit prompt + GTK file portals are deferred because their window class
can't be verified headlessly — a guessed class is a dead rule. Those wait
for a hardware `hyprctl clients` read (queued).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 22:39:43 +01:00
parent 28a28e05d3
commit a8391c381d
4 changed files with 55 additions and 17 deletions

View File

@@ -17,6 +17,23 @@ Template:
---
## 2026-07-07 — Floating-window audit, conservative cut (iteration #63, item 41)
- **Task:** BACKLOG item 41 — Bernardo: "take a conservative approach."
Broaden the windowrule float set beyond the mixer.
- **Method:** surveyed what GUI dialogs the distro actually ships (not a
blind list). Network is dmenu/nmtui (no GUI editor → no rule). Confident,
shipped, unambiguous dialogs: **blueman** (manager + adapters) and
**system-config-printer**. Deferred polkit (hyprpolkitagent exposes no
discoverable class) and GTK file portals — guessing a class = dead rule,
so those wait for a hardware `hyprctl clients` read.
- **Fix:** `hyprland.nix` windowrule block — added float + center for the
two, `(?i)` regex tolerating the XWayland `.…-wrapped` form. RE2 `(?i)`
is already relied on in this file (line ~47), so it's consistent.
- **Verified:** V0 green; `nix eval` confirms the rendered regex escaping
is correct (single backslash, `?` quantifier unescaped). Whether the
classes actually match live is V3 (queued — includes confirming the
regex catches the real class).
## 2026-07-07 — Right-click volume → floating mixer (iteration #62, item 35)
- **Task:** BACKLOG item 35 — right-click the Waybar volume module to
open a mixer in a floating window. (Bernardo re-launched /loop after I'd