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.