Omahub
← All plugins
S

DPMS Guard

by shokupan

Keeps the display off while the session is locked, for monitors whose USB-C or DisplayPort deep sleep hotplugs the connector and wakes the output back up.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
b2be426
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
b2be426
Reviewed
1 month ago

This is a small, transparent service plugin that polls while the session is locked and re-asserts display-off if the display is awake and the user is idle. The code is straightforward, uses only standard Omarchy/Hyprland tools, and has no destructive or hidden behavior. The deterministic scan found no issues, and the manual review confirms the plugin does exactly what its README describes.

  • The plugin runs a bash subprocess every 30 seconds while locked, but this is a minor resource cost and is gated by the lock and idle checks.
  • It relies on omarchy-brightness-display and omarchy-shell being present, but these are standard Omarchy components.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/austin-karren/omarchy-dpms-guard --enable
Hardware #Hyprland #quickshell #power-management

omarchy-dpms-guard

Keeps the display off while the session is locked, on monitors that wake themselves back up.

Plugin id: shokupan.dpms-guard

Read this before installing

This plugin exists for one specific hardware fault. If you do not have that fault, you do not need it, and you should not install it.

The fault: some monitors connected over USB-C (and some over DisplayPort) drop their DP link when they deep-sleep after a DPMS off. The kernel reports that as a connector hotplug, and Hyprland sometimes answers a hotplug by re-enabling the output — so the lock screen comes back on and stays lit for hours. It was diagnosed here on a BenQ panel over USB-C, and matches Hyprland discussions #13654 and #11356.

You have this fault if, and only if: you lock the session, the display goes dark, and some minutes later you find it lit up again on the lock screen with nobody having touched the machine. If your display stays dark, this plugin has nothing to fix.

The guard does not detect the offending monitor model. It detects the symptom — locked, user still idle, yet an output is powered on — and re-asserts display-off. That is a no-op on hardware without the fault, but it is still a background timer and a subprocess you do not need, and it deals with your display power. Installing it speculatively is not recommended.

What it does

While the session is locked, every 30 seconds it asks: is the user still idle, and is any output powered on? If both are true it runs omarchy-brightness-display off again.

The check cannot be event-driven. The self-wake happens inside aquamarine's DRM layer and emits no Hyprland event at all — verified by watching socket2 with socat while it happened — so there is nothing to subscribe to. Hence the poll, and hence the poll running only while locked.

Two safety gates:

  • Idle. Real input marks the monitor active, so a user returning and typing their password is never blanked mid-password.
  • Locked. The timer does not run at all during normal desktop use.

It also stands down while the lock screen is authenticating.

Install

omarchy plugin add https://github.com/austin-karren/omarchy-dpms-guard.git --enable

This is a service plugin with keepLoaded: true — there is no bar widget and nothing visible. Confirm it loaded by locking the session and watching the shell's log for shokupan dpms-guard ... lock engaged: polling:

journalctl --user -t omarchy-shell -f | grep dpms-guard

(Omarchy pipes the shell's log into the journal under the omarchy-shell tag — see omarchy-launch-shell.)

Remove

omarchy plugin remove shokupan.dpms-guard

No preview image

There is nothing to show: this plugin has no user interface. It is a headless service, so this repo deliberately has no preview.png rather than an invented one.

Dependencies

hyprctl, jq, and omarchy-shell / omarchy-brightness-display — all part of a standard Omarchy on Hyprland install. Nothing external.

Hyprland-only: the check reads hyprctl monitors, so this will not work on another compositor.

License

MIT — see LICENSE. Original work.