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.
Workspace indicator stuck showing phantom workspaces after rapid Super+number presses
Reported by mayaanhafeez · filed Aug 28, 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?
- 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
Description
Rapidly pressing Super+<number> in a random order (e.g. Super then 1 2 3 4 4 5 6 7 8 9 0 very fast) breaks the bar's workspace indicator. The Omarchy shell (Quickshell) workspace widget gets stuck showing workspaces that don't exist / are empty and non-persistent. In my case it was stuck showing workspace "3" as active, and "9" as visible, even though hyprctl workspaces reports no workspace 3 or 9 and they have no windows.
Switching workspaces still works correctly via keyboard, but the bar indicator no longer reflects the real active workspace, so there is no reliable visual indicator of the current workspace.
Expected Behavior
The workspace indicator should always reflect Hyprland's actual workspace state, even after rapid / overlapping workspace-switch dispatches. Phantom non-persistent, empty workspaces should not remain shown in the indicator.
Steps to Reproduce
- Spam Super + number keys in a random, very fast order, e.g. Super then 1 2 3 4 4 5 6 7 8 9 0.
- Observe the bar's workspace widget.
- Note it can get stuck showing a workspace number (e.g. 3) as active, and an empty non-persistent workspace (e.g. 9) as visible.
- Confirm via
hyprctl workspaces -jthat those workspaces are not actually present/active. - Switching workspaces with Super+number still changes the real workspace, but the indicator stays stale.
A omarchy restart shell (or omarchy refresh shell) restores the correct indicator, suggesting the widget's internal workspace tracking desyncs from Hyprland during rapid events.
System Details
- Omarchy version: 4.0.1-1 (channel: stable)
- Hyprland: 0.56.2 (commit efb50993)
- Shell widget: omarchy.workspaces (Workspaces.qml) — "Workspace number indicators"
- CPU: Intel Core i7-3520M
- GPU: Intel HD Graphics 4000 (Ivy Bridge) + NVIDIA GF117M
- Monitors: LVDS-1 (built-in) and VGA-1 (external) — both active
- Package set last upgraded: Thursday, August 27 2026
Diagnostics
Note: the omarchy debug command referenced in the bug-report guide does not exist in this version (omarchy debug -> "Unknown Omarchy command"), so diagnostics were gathered manually.
hyprctl workspaces -j at time of bug (only workspaces 1 and 2 actually exist; no 3 or 9):
[{"id":1,"name":"1","monitor":"VGA-1","windows":1,"ispersistent":true},
{"id":2,"name":"2","monitor":"LVDS-1","windows":0,"ispersistent":false}]Capture
Screenshot of the stuck indicator (workspace 3 shown active, 9 shown visible):
/home/arch/Pictures/screenshot-2026-08-28_11-11-16.png
(github: please drag-drop attach — gh cannot upload media)
View raw text
## Description
Rapidly pressing Super+<number> in a random order (e.g. Super then 1 2 3 4 4 5 6 7 8 9 0 very fast) breaks the bar's workspace indicator. The Omarchy shell (Quickshell) workspace widget gets stuck showing workspaces that don't exist / are empty and non-persistent. In my case it was stuck showing workspace "3" as active, and "9" as visible, even though `hyprctl workspaces` reports no workspace 3 or 9 and they have no windows.
Switching workspaces still works correctly via keyboard, but the bar indicator no longer reflects the real active workspace, so there is no reliable visual indicator of the current workspace.
## Expected Behavior
The workspace indicator should always reflect Hyprland's actual workspace state, even after rapid / overlapping workspace-switch dispatches. Phantom non-persistent, empty workspaces should not remain shown in the indicator.
## Steps to Reproduce
1. Spam Super + number keys in a random, very fast order, e.g. Super then 1 2 3 4 4 5 6 7 8 9 0.
2. Observe the bar's workspace widget.
3. Note it can get stuck showing a workspace number (e.g. 3) as active, and an empty non-persistent workspace (e.g. 9) as visible.
4. Confirm via `hyprctl workspaces -j` that those workspaces are not actually present/active.
5. Switching workspaces with Super+number still changes the real workspace, but the indicator stays stale.
A `omarchy restart shell` (or `omarchy refresh shell`) restores the correct indicator, suggesting the widget's internal workspace tracking desyncs from Hyprland during rapid events.
## System Details
- Omarchy version: 4.0.1-1 (channel: stable)
- Hyprland: 0.56.2 (commit efb50993)
- Shell widget: omarchy.workspaces (Workspaces.qml) — "Workspace number indicators"
- CPU: Intel Core i7-3520M
- GPU: Intel HD Graphics 4000 (Ivy Bridge) + NVIDIA GF117M
- Monitors: LVDS-1 (built-in) and VGA-1 (external) — both active
- Package set last upgraded: Thursday, August 27 2026
## Diagnostics
Note: the `omarchy debug` command referenced in the bug-report guide does **not** exist in this version (`omarchy debug` -> "Unknown Omarchy command"), so diagnostics were gathered manually.
`hyprctl workspaces -j` at time of bug (only workspaces 1 and 2 actually exist; no 3 or 9):
```
[{"id":1,"name":"1","monitor":"VGA-1","windows":1,"ispersistent":true},
{"id":2,"name":"2","monitor":"LVDS-1","windows":0,"ispersistent":false}]
```
## Capture
Screenshot of the stuck indicator (workspace 3 shown active, 9 shown visible):
/home/arch/Pictures/screenshot-2026-08-28_11-11-16.png
(github: please drag-drop attach — gh cannot upload media)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 09:47 UTC