CR-2026-06-19: Verification
Post-Change Verification
Config Verification
Lid switch bindings use brightnessctl, not monitor disable
grep 'Lid Switch' ~/.config/hypr/hyprland.conf
Expected output
bindl = , switch:on:Lid Switch, exec, loginctl lock-session && brightnessctl -s set 0 bindl = , switch:off:Lid Switch, exec, brightnessctl -r
Stow source matches active config
diff <(grep 'Lid Switch' ~/.config/hypr/hyprland.conf) \
<(grep 'Lid Switch' ~/atelier/_projects/personal/dots-quantum/hyprland/.config/hypr/hyprland.conf)
Functional Tests
Expected output: no differences (empty output)
-
Close lid (no external monitor), wait 10 seconds, open lid — hyprlock prompt appears on eDP-1
-
Close lid (external monitor connected), open lid — both displays resume correctly
-
Close lid, wait 5 minutes (past idle lock timeout), open lid — hyprlock still visible
-
Lock with SUPER+Escape, close lid, open lid — hyprlock prompt on eDP-1
-
Suspend (
systemctl suspend), resume — hyprlock prompt on eDP-1
Regression Checks
brightnessctl saves and restores correctly
# Save current brightness
brightnessctl -s set 0
# Verify screen is dark
brightnessctl g
# Restore
brightnessctl -r
# Verify restored to previous value
brightnessctl g
hyprlock renders on eDP-1 (no external monitor)
# Verify eDP-1 is still in Hyprland's output list after lid close/open cycle
hyprctl monitors | awk '/^Monitor|disabled/'
Consistency Check
hypridle and lid switch both use the same display strategy
echo "=== hypridle strategy ==="
awk '/brightnessctl/' ~/.config/hypr/hypridle.conf
echo "=== lid switch strategy ==="
grep 'Lid Switch' ~/.config/hypr/hyprland.conf
Both should use brightnessctl — no monitor disable, no dpms off.