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.
Lock screen password field stops accepting input after lid close/reopen (suspend/resume); session stays locked, forces reboot
Reported by jff · filed Oct 8, 2026 · open at source
R-1214 is the earliest report of this defect — filed Aug 30, 2026, open upstream. This report (filed Oct 8, 2026) describes the same defect, so it is folded under it in the inbox.
Decided by agents · verified· Oct 8, 2026
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?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
What happened
After closing and reopening the laptop lid (suspend → resume), the lock screen's password field stops accepting keyboard input entirely — no characters appear, and the session never unlocks. This has forced a reboot from a TTY every time it's happened (confirmed across three separate occurrences/boots today).
What I expected
Reopening the lid should resume the session at the lock screen with the password field focused and able to accept input, as it normally does on a fresh lock.
Steps to reproduce
- Close the laptop lid (triggers suspend; Omarchy locks the session first via
omarchy-sleep-lock.service→omarchy-system-sleep-monitor). - Wait for the system to suspend.
- Reopen the lid.
- Try to click into / type into the password field.
Observed with an external monitor sometimes connected and sometimes not (laptop-only and docked), so it doesn't appear to depend on monitor topology, though hybrid graphics may be a factor (see below).
Evidence
journalctl --user across three separate boots today shows the identical pattern — the lock goes secure, and then no further lock-related event is ever logged again (no unlocked, no session-locked=false, no password-failure event) until the session is torn down by a manual reboot:
Oct 08 17:05:27 omarchy-shell: DEBUG qml: omarchy lock ... lock-requested
Oct 08 17:05:27 omarchy-shell: DEBUG qml: omarchy lock ... lock-pending: screen-stabilizing
Oct 08 17:05:27 omarchy-shell: DEBUG qml: omarchy lock ... secure=true
Oct 08 17:05:30 systemd: Started Lock Omarchy before suspend.
Oct 08 17:05:37 systemd: Started Lock Omarchy before suspend.
Oct 08 17:05:39 systemd: Started Lock Omarchy before suspend.
(session later closed manually; no unlock ever logged)Same shape recurs in two other boots from the same session (17:27:35 and 17:24:57 boots). In all three, secure=true is the last omarchy lock event ever logged for that boot.
Suspected cause (from reading the shipped source)
/usr/share/omarchy/shell/plugins/lock/LockView.qml only calls passwordInput.forceActiveFocus():
- in Component.onCompleted,
- when inputEnabled changes, and
- from the background MouseArea's onClicked.
None of these fire on resume from suspend when the session was already locked before suspending (inputEnabled/lockRequested doesn't change, and the LockView/WlSessionLockSurface isn't recreated). Service.qml's onScreensChanged handler calls requestSessionLock() (a no-op once already locked) but never re-asserts focus either. If the compositor drops keyboard focus from the ext-session-lock surface across suspend/resume (plausible on this hybrid-GPU laptop when outputs are reconfigured), nothing in the lock plugin ever asks for it back, leaving the field permanently inert even to a click, since the click handler's forceActiveFocus() is a QML-level focus call that wouldn't help if the Wayland compositor itself isn't routing keyboard events to that surface. (I haven't yet confirmed whether a click into the field restores input — will update this issue with that result.)
System details
- Omarchy: 4.0.4-1 (stable channel)
- Hyprland: 0.56.2-2
- Quickshell: 0.3.1-1
- Kernel: 7.2.3.arch1-3 (uname: 7.2.5-3-omarchy)
- CPU: Intel Core i7-12700H
- GPU: Intel Iris Xe (integrated) + NVIDIA GeForce RTX 3050 Ti Mobile (hybrid graphics, nvidia driver)
- Monitors: internal laptop panel; external monitor sometimes attached/detached around suspend
(Note: omarchy debug is not available as a command on this installed version, so the above was gathered manually via pacman -Q, journalctl, lscpu, lspci.)
View raw text
## What happened After closing and reopening the laptop lid (suspend → resume), the lock screen's password field stops accepting keyboard input entirely — no characters appear, and the session never unlocks. This has forced a reboot from a TTY every time it's happened (confirmed across three separate occurrences/boots today). ## What I expected Reopening the lid should resume the session at the lock screen with the password field focused and able to accept input, as it normally does on a fresh lock. ## Steps to reproduce 1. Close the laptop lid (triggers suspend; Omarchy locks the session first via `omarchy-sleep-lock.service` → `omarchy-system-sleep-monitor`). 2. Wait for the system to suspend. 3. Reopen the lid. 4. Try to click into / type into the password field. Observed with an external monitor sometimes connected and sometimes not (laptop-only and docked), so it doesn't appear to depend on monitor topology, though hybrid graphics may be a factor (see below). ## Evidence `journalctl --user` across three separate boots today shows the identical pattern — the lock goes secure, and then **no further lock-related event is ever logged again** (no `unlocked`, no `session-locked=false`, no password-failure event) until the session is torn down by a manual reboot: ``` Oct 08 17:05:27 omarchy-shell: DEBUG qml: omarchy lock ... lock-requested Oct 08 17:05:27 omarchy-shell: DEBUG qml: omarchy lock ... lock-pending: screen-stabilizing Oct 08 17:05:27 omarchy-shell: DEBUG qml: omarchy lock ... secure=true Oct 08 17:05:30 systemd: Started Lock Omarchy before suspend. Oct 08 17:05:37 systemd: Started Lock Omarchy before suspend. Oct 08 17:05:39 systemd: Started Lock Omarchy before suspend. (session later closed manually; no unlock ever logged) ``` Same shape recurs in two other boots from the same session (`17:27:35` and `17:24:57` boots). In all three, `secure=true` is the last `omarchy lock` event ever logged for that boot. ## Suspected cause (from reading the shipped source) `/usr/share/omarchy/shell/plugins/lock/LockView.qml` only calls `passwordInput.forceActiveFocus()`: - in `Component.onCompleted`, - when `inputEnabled` changes, and - from the background `MouseArea`'s `onClicked`. None of these fire on resume from suspend when the session was already locked before suspending (`inputEnabled`/`lockRequested` doesn't change, and the `LockView`/`WlSessionLockSurface` isn't recreated). `Service.qml`'s `onScreensChanged` handler calls `requestSessionLock()` (a no-op once already locked) but never re-asserts focus either. If the compositor drops keyboard focus from the `ext-session-lock` surface across suspend/resume (plausible on this hybrid-GPU laptop when outputs are reconfigured), nothing in the lock plugin ever asks for it back, leaving the field permanently inert even to a click, since the click handler's `forceActiveFocus()` is a QML-level focus call that wouldn't help if the Wayland compositor itself isn't routing keyboard events to that surface. (I haven't yet confirmed whether a click into the field restores input — will update this issue with that result.) ## System details - Omarchy: 4.0.4-1 (stable channel) - Hyprland: 0.56.2-2 - Quickshell: 0.3.1-1 - Kernel: 7.2.3.arch1-3 (uname: 7.2.5-3-omarchy) - CPU: Intel Core i7-12700H - GPU: Intel Iris Xe (integrated) + NVIDIA GeForce RTX 3050 Ti Mobile (hybrid graphics, nvidia driver) - Monitors: internal laptop panel; external monitor sometimes attached/detached around suspend (Note: `omarchy debug` is not available as a command on this installed version, so the above was gathered manually via `pacman -Q`, `journalctl`, `lscpu`, `lspci`.)
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
- Related PRpr/8560· confirmed
- Duplicate ofR-1214[Quattro] Lock password field can lose focus after suspend resume· decided by agents · verified
- Related PRpr/12435· confirmed
- Fixed bypr/7471· confirmed
- Fixed bypr/14882· confirmed
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.