Screensaver Lock
Lock the session every time the screensaver is dismissed. Dismissing it goes straight to black, then to the lock screen — your desktop never shows in between.
About
Stock Omarchy starts the screensaver after 150 seconds and locks after 300 — but only if the screensaver is still up at that point. Come back and press a key in between, and Omarchy treats it as activity, cancels the pending lock and shows your desktop. Whether you get a lock screen depends on how long you were away. Setting idle.lock equal to idle.screensaver doesn't help: locking closes the screensaver, so you'd never see it.
This plugin watches Hyprland for screensaver windows (event-driven, nothing polled) and runs omarchy-system-lock when one closes on an unlocked session. A transparent, click-through curtain sits on every screen while the screensaver runs; the moment it closes, the curtain turns black in the same frame and the lock starts behind it. Once the lock is confirmed the curtain goes — and if the lock never arrives within 8 seconds, it goes anyway, so you can't get stuck behind a black screen.
Highlights
- Always locks — however long you were away, dismissing the screensaver means a lock screen
- No desktop flash — a black curtain covers the gap between screensaver and lock
- Fail-safe — the curtain lifts after 8 seconds if the lock doesn't come up
- Works with lock plugins — anything implementing the stock
lockIPC - Leaves nothing behind — no files written, no config edited, no network
Install
$ omarchy plugin add https://github.com/davidboulay/omarchy-screensaver-lock.git # try it: start the screensaver, wait, press a key $ omarchy-launch-screensaver force
Accept the prompt to enable it. It's keepLoaded, so run omarchy restart shell if it doesn't take effect right away.