feat(hyprland): float+center Bluetooth + printer config dialogs
All checks were successful
Check / eval (push) Successful in 3m8s
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:
@@ -438,16 +438,26 @@ in
|
||||
background_color = rgb c.base;
|
||||
};
|
||||
|
||||
# Window rules. This is the config's first float rule; item 41 will
|
||||
# broaden the set (dialogs, portals, …) once that audit lands. For
|
||||
# now: the audio mixer opened by right-clicking the Waybar volume
|
||||
# module (item 35) floats + centers instead of tiling. Matches
|
||||
# pwvucontrol (the template's mixer) and pavucontrol if swapped in.
|
||||
# Normal-priority list like `bind`/`exec-once` below, so a downstream
|
||||
# `windowrule = [...]` concatenates rather than replaces.
|
||||
# Window rules — float + center small config/utility dialogs that
|
||||
# tile awkwardly. Normal-priority list like `bind`/`exec-once` below,
|
||||
# so a downstream `windowrule = [...]` concatenates rather than
|
||||
# replaces. Class regexes use `(?i)` and tolerate the XWayland
|
||||
# `.…-wrapped` binary-name form.
|
||||
#
|
||||
# Conservative set on purpose (item 41): only windows the distro
|
||||
# actually ships, each an unambiguous dialog. Deliberately NOT
|
||||
# floated yet — needs on-hardware class verification: the polkit auth
|
||||
# prompt (hyprpolkitagent exposes no discoverable class) and GTK
|
||||
# file-chooser portals. A dead rule is harmless, but guessing a class
|
||||
# is worse than leaving it for a verified pass.
|
||||
windowrule = [
|
||||
# Audio mixer (item 35): right-click the Waybar volume module.
|
||||
"float, class:^(com\\.saivert\\.pwvucontrol|org\\.pulseaudio\\.pavucontrol|pavucontrol)$"
|
||||
"center, class:^(com\\.saivert\\.pwvucontrol|org\\.pulseaudio\\.pavucontrol|pavucontrol)$"
|
||||
|
||||
# Bluetooth manager (blueman) + CUPS printer admin.
|
||||
"float, class:(?i)^(\\.?blueman-(manager|adapters)(-wrapped)?|\\.?system-config-printer(-wrapped)?)$"
|
||||
"center, class:(?i)^(\\.?blueman-(manager|adapters)(-wrapped)?|\\.?system-config-printer(-wrapped)?)$"
|
||||
];
|
||||
|
||||
# Rendered from ./keybinds.nix (the cheatsheet reads the same list),
|
||||
|
||||
Reference in New Issue
Block a user