Fix screen flash when waking from sleep into the unlock screen
The lock service arms a 5s blank timer whenever the screen locks, and input at the lock screen re-arms it. Closing the lid sprays pointer noise over the lock surface, so the timer was routinely armed right before suspend, froze mid-countdown, and fired moments after resume -- blanking the freshly woken unlock screen under the user. Guard the timer with a wall-clock check: if far more time elapsed than the interval, the countdown slept through a suspend, so take a fresh run-up instead of blanking. This also blanks the lock screen 5s after an untouched resume. Two accomplices made the flash worse and hid the real bug: - The clamshell watcher's 2s poll fired an unconditional global DPMS enable whenever no external monitor was active, relighting any blank within 2 seconds (lock-screen blanking never stuck on undocked laptops) and racing the resume modeset. Recovery now only wakes displays when it actually re-enables one. - Every keystroke at the lock screen dispatched a redundant DPMS enable via omarchy-system-wake, forcing extra modesets in the fragile just-resumed DRM state. Brightness "on" now skips the dispatch when every active display is already lit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
324fd387c0
commit
54d79d9d16
@@ -58,7 +58,9 @@ grep -F "hyprctl dispatch 'hl.dsp.dpms({ action = \"enable\" })' >/dev/null 2>&1
|
||||
grep -F 'hyprctl monitors all -j' "$monitor_internal" >/dev/null
|
||||
grep -F 'omarchy-hyprland-monitor-external-active' "$monitor_internal" >/dev/null
|
||||
grep -F 'wake' "$monitor_internal" >/dev/null
|
||||
grep -F 'omarchy-hyprland-toggle-enabled $TOGGLE || return 0' "$monitor_internal" >/dev/null
|
||||
pass "internal monitor helper can re-enable disabled laptop displays"
|
||||
pass "internal monitor recovery only wakes displays when it re-enables one"
|
||||
|
||||
grep -F 'omarchy-hyprland-monitor-external-active' "$monitor_mirror" >/dev/null
|
||||
pass "internal mirror helper recovers when no active external display remains"
|
||||
|
||||
Reference in New Issue
Block a user