Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-373GitHub issuePublicDecided· Out of scope

Black desktop with cursor: physical-monitor windows remain -3x-3 and recovery misses it

Reported by Andre1Becker · filed Sep 18, 2026 · open at source

Decided: Out of scope — decided by agents · verified 3 days ago.

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?
AreaOutside the audited area· Decided by agents · verified
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

Black desktop with cursor: physical-monitor windows remain -3x-3 and recovery misses itrevision 1 · captured 2026-09-28 21:23 UTC via poll

System details

  • Omarchy 4.0.4-1
  • Hyprland 0.56.2-2 (efb50993780079460b0cbed1363e2166a2de1d9f)
  • Aquamarine 0.15.0-2
  • linux-omarchy 7.2.5-3
  • NVIDIA RTX 4070 Ti, nvidia-open-dkms / nvidia-utils 610.57.04-1
  • Two native DisplayPort monitors: 3840x2160 and 2560x1440
  • A 1920x1080 HEADLESS-1 output for wayvnc was also active

What's wrong?

After the physical monitors came back, both displayed a black desktop with only the mouse cursor. Hyprland and the Omarchy shell were still running and IPC remained responsive.

This was not the usual modeless 0x0 state. hyprctl -j monitors reported valid geometry for both physical outputs:

DP-1: 3840x2160, dpmsStatus=true
DP-2: 2560x1440, dpmsStatus=true
HEADLESS-1: 1920x1080, dpmsStatus=true

However, every mapped window on the physical outputs had an invalid size:

{"monitor":0,"mapped":true,"visible":true,"size":[-3,-3]}
{"monitor":0,"mapped":true,"visible":true,"size":[-3,-3]}
{"monitor":1,"mapped":true,"visible":true,"size":[-3,-3]}
{"monitor":1,"mapped":true,"visible":true,"size":[-3,-3]}

The window on HEADLESS-1 retained a valid 1896x1026 size. There were no NVIDIA Xid or DRM errors in the kernel journal.

omarchy-hyprland-monitor-modeless returns false in this state because both monitors have valid modes, so omarchy-hyprland-monitor-watch does not attempt recovery. A monitor-only health check therefore misses a fully unusable desktop.

A renderer reload followed by a temporary mode bounce and restoration of the configured monitor layout recovered the windows immediately. Their sizes returned to normal values such as 1236x1386 and 985x1098.

There was a second recovery problem: keyboard focus remained on the HEADLESS-1 window even after workspace 1 on DP-1 became active, and mouse/keyboard could not select a physical window. Releasing input capture, restarting the Omarchy shell to remove a stale fullscreen omarchy-menu layer on HEADLESS-1, then explicitly focusing a physical monitor/window restored input.

The recovery path should recognize mapped, visible clients with non-positive dimensions on physical monitors. After restoring the layout, it should also move focus away from a headless output when a physical workspace is active and clear stale input capture/menu state.

Related:

  • #11249: underlying Aquamarine 0.15.0 monitor recovery failure
  • #9078: existing modeless detector gap
View raw text
### System details

- Omarchy 4.0.4-1
- Hyprland 0.56.2-2 (`efb50993780079460b0cbed1363e2166a2de1d9f`)
- Aquamarine 0.15.0-2
- linux-omarchy 7.2.5-3
- NVIDIA RTX 4070 Ti, `nvidia-open-dkms` / `nvidia-utils` 610.57.04-1
- Two native DisplayPort monitors: 3840x2160 and 2560x1440
- A 1920x1080 `HEADLESS-1` output for wayvnc was also active

### What's wrong?

After the physical monitors came back, both displayed a black desktop with only the mouse cursor. Hyprland and the Omarchy shell were still running and IPC remained responsive.

This was not the usual modeless `0x0` state. `hyprctl -j monitors` reported valid geometry for both physical outputs:

```json
DP-1: 3840x2160, dpmsStatus=true
DP-2: 2560x1440, dpmsStatus=true
HEADLESS-1: 1920x1080, dpmsStatus=true
```

However, every mapped window on the physical outputs had an invalid size:

```json
{"monitor":0,"mapped":true,"visible":true,"size":[-3,-3]}
{"monitor":0,"mapped":true,"visible":true,"size":[-3,-3]}
{"monitor":1,"mapped":true,"visible":true,"size":[-3,-3]}
{"monitor":1,"mapped":true,"visible":true,"size":[-3,-3]}
```

The window on `HEADLESS-1` retained a valid `1896x1026` size. There were no NVIDIA Xid or DRM errors in the kernel journal.

`omarchy-hyprland-monitor-modeless` returns false in this state because both monitors have valid modes, so `omarchy-hyprland-monitor-watch` does not attempt recovery. A monitor-only health check therefore misses a fully unusable desktop.

A renderer reload followed by a temporary mode bounce and restoration of the configured monitor layout recovered the windows immediately. Their sizes returned to normal values such as `1236x1386` and `985x1098`.

There was a second recovery problem: keyboard focus remained on the `HEADLESS-1` window even after workspace 1 on DP-1 became active, and mouse/keyboard could not select a physical window. Releasing input capture, restarting the Omarchy shell to remove a stale fullscreen `omarchy-menu` layer on `HEADLESS-1`, then explicitly focusing a physical monitor/window restored input.

The recovery path should recognize mapped, visible clients with non-positive dimensions on physical monitors. After restoring the layout, it should also move focus away from a headless output when a physical workspace is active and clear stale input capture/menu state.

Related:

- #11249: underlying Aquamarine 0.15.0 monitor recovery failure
- #9078: existing modeless detector gap

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.

  • Out of scopeDecided by agents · verified · 2026-10-09 15:17 UTC