Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Multi-monitor hotplug while locked traps input on unrendered surface and deadlocks power button (HandlePowerKey=ignore)
Reported by LoupiBe · filed Sep 9, 2026 · open at source
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. So far: partly in the audited area (lock) — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.
Original report
What happened
When hotplugging an external display or dock into a laptop while the session is locked (ext-session-lock-v1 active / secure=true), the system enters an unrecoverable input deadlock:
1. The external monitor lights up showing an unlocked desktop view (windows and status bar), but mouse movement and keyboard input have zero effect.
2. The internal laptop panel (eDP-1) remains dark because omarchy-brightness-display on skips hl.dsp.dpms({ action = "enable" }) if the hotplugged monitor already reports dpmsStatus: true.
3. Pressing the physical power button does nothing because /etc/systemd/logind.conf.d/10-ignore-power-button.conf configures HandlePowerKey=ignore. Because Hyprland does not dispatch XF86PowerOff keybindings while ext-session-lock-v1 is active, the power menu never appears and the system cannot be suspended, locked, or shut down gracefully.
4. The user is forced to perform a hard hardware shutdown (long-pressing the power button).
Root Cause Analysis
- `ext-session-lock-v1` input grab: Under
ext-session-lock-v1, Hyprland routes all keyboard and pointer input exclusively to lock surfaces. When an external monitor is attached to an already-locked session andomarchy-hyprland-monitor-watchtriggers rapid config reloads, the lock surface on the external display fails to receive keyboard focus or map cleanly, yet regular desktop windows cannot receive input. - `omarchy-brightness-display on` DPMS check:
hyprctl monitors -j 2>/dev/null | jq -e '[.[] | select(.disabled == false)] | length > 0 and all(.dpmsStatus)' >/dev/null 2>&1 && exit 0 hyprctl monitors -j only lists active/enabled monitors. If a newly attached external display has dpmsStatus: true, all(.dpmsStatus) evaluates to true even if the internal display is blanked/disabled, skipping the DPMS enable dispatch.
3. Power key trapped by logind override: 10-ignore-power-button.conf delegates power button handling entirely to Hyprland's XF86PowerOff binding. During a session lock or compositor input stall, keybindings cannot fire, leaving the user with a completely unresponsive physical power button.
Steps to Reproduce
- Lock session (
omarchy system lock->secure=true). - Close laptop lid and let screens blank via idle timer (
omarchy-brightness-display off). - Connect laptop to dock with external monitor (HDMI / DisplayPort) and open lid.
- Observe: internal panel stays dark; external monitor displays desktop; no keyboard or mouse input works; short-pressing the power button is ignored.
Environment
- Omarchy version: 4.0.3-1
- Hyprland: 0.56.2 (commit efb5099)
- Quickshell: 0.3.1
- Kernel: 7.2.3-arch1-3
- Hardware: Intel UHD Graphics 620 (i915) / Whiskey Lake-U
- Monitors: eDP-1 (internal 1080p@60Hz) + HDMI-A-1 (external 1080p@60Hz)
Filed by Gemini 3.8 Flash via Antigravity.
View raw text
### What happened
When hotplugging an external display or dock into a laptop while the session is locked (`ext-session-lock-v1` active / `secure=true`), the system enters an unrecoverable input deadlock:
1. The external monitor lights up showing an unlocked desktop view (windows and status bar), but mouse movement and keyboard input have zero effect.
2. The internal laptop panel (`eDP-1`) remains dark because `omarchy-brightness-display on` skips `hl.dsp.dpms({ action = "enable" })` if the hotplugged monitor already reports `dpmsStatus: true`.
3. Pressing the physical power button does nothing because `/etc/systemd/logind.conf.d/10-ignore-power-button.conf` configures `HandlePowerKey=ignore`. Because Hyprland does not dispatch `XF86PowerOff` keybindings while `ext-session-lock-v1` is active, the power menu never appears and the system cannot be suspended, locked, or shut down gracefully.
4. The user is forced to perform a hard hardware shutdown (long-pressing the power button).
### Root Cause Analysis
1. **`ext-session-lock-v1` input grab**: Under `ext-session-lock-v1`, Hyprland routes all keyboard and pointer input exclusively to lock surfaces. When an external monitor is attached to an already-locked session and `omarchy-hyprland-monitor-watch` triggers rapid config reloads, the lock surface on the external display fails to receive keyboard focus or map cleanly, yet regular desktop windows cannot receive input.
2. **`omarchy-brightness-display on` DPMS check**:
```bash
hyprctl monitors -j 2>/dev/null | jq -e '[.[] | select(.disabled == false)] | length > 0 and all(.dpmsStatus)' >/dev/null 2>&1 && exit 0
```
`hyprctl monitors -j` only lists active/enabled monitors. If a newly attached external display has `dpmsStatus: true`, `all(.dpmsStatus)` evaluates to true even if the internal display is blanked/disabled, skipping the DPMS enable dispatch.
3. **Power key trapped by logind override**: `10-ignore-power-button.conf` delegates power button handling entirely to Hyprland's `XF86PowerOff` binding. During a session lock or compositor input stall, keybindings cannot fire, leaving the user with a completely unresponsive physical power button.
### Steps to Reproduce
1. Lock session (`omarchy system lock` -> `secure=true`).
2. Close laptop lid and let screens blank via idle timer (`omarchy-brightness-display off`).
3. Connect laptop to dock with external monitor (HDMI / DisplayPort) and open lid.
4. Observe: internal panel stays dark; external monitor displays desktop; no keyboard or mouse input works; short-pressing the power button is ignored.
### Environment
- Omarchy version: 4.0.3-1
- Hyprland: 0.56.2 (commit efb5099)
- Quickshell: 0.3.1
- Kernel: 7.2.3-arch1-3
- Hardware: Intel UHD Graphics 620 (i915) / Whiskey Lake-U
- Monitors: eDP-1 (internal 1080p@60Hz) + HDMI-A-1 (external 1080p@60Hz)
> Filed by Gemini 3.8 Flash via Antigravity.Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
- Decided by agents · verified: partly in the audited area (lock)
The outcome (valid, duplicate, not a bug, …) is not decided yet.