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.
Bug: Windows spawned on special workspaces land on underlying workspace + crash on togglefloating (Hyprland 0.54)
Reported by clintonium-119 · filed Mar 3, 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
System details
ASUS ROG Flow Z13 (GZ302EA), AMD Ryzen AI 395+, Omarchy 3.4.1, Hyprland 0.54.0, CachyOS kernel 6.19.5-3
What's wrong?
Two related bugs introduced with Hyprland 0.54.0 (included in Omarchy 3.4):
Bug 1: New windows spawn on wrong workspace
When a special workspace is focused, newly spawned windows land on the underlying regular workspace instead of the special workspace. The window sizes/tiles as if it were inside the special workspace (e.g., takes half-width as if tiling with an existing window), but renders on the main workspace behind the special workspace (blurred).
Bug 2: Crash when toggling floating on affected windows
Pressing Super+T (togglefloating) on a window that spawned in this broken state causes a Hyprland SEGV crash. The backtrace shows bad_variant_access in CDwindleAlgorithm::removeTarget, called from toggleTargetFloating.
To Reproduce
Bug 1:
1. Open any special workspace (e.g., Super+S for scratchpad, or any togglespecialworkspace)
2. Spawn a new window (e.g., Super+Return for terminal)
3. The window appears on the underlying regular workspace, not the special workspace
4. The window is sized as if tiling inside the special workspace
Bug 2:
1. Reproduce Bug 1 (window on wrong workspace)
2. Press Super+T to toggle floating on the misplaced window
3. Hyprland crashes (SEGV signal 11)
Expected behavior
- New windows spawned while a special workspace is focused should tile inside that special workspace (this worked in Hyprland 0.53.x / Omarchy 3.3)
togglefloatingshould never crash
Troubleshooting done
Verified this is NOT caused by user config:
- Happens with uwsm-app and direct hyprctl dispatch exec
- Happens with hide_special_on_workspace_change true or false
- Happens with initial_workspace_tracking set to 0, 1, or 2
- Happens on empty special workspaces with no window rules
- No relevant changes in omarchy default hypr configs between 3.3 and 3.4
Crash report
Backtrace from ~/.cache/hyprland/hyprlandCrashReport2062.txt
Hyprland received signal 11(SEGV)
Version: 0002f148c9a4fe421a9d33c0faa5528cdc411e62
Tag: v0.54.0
Backtrace:
#4 | std::__throw_bad_variant_access(unsigned int)
#5 | Layout::Tiled::CDwindleAlgorithm::removeTarget(...)
#6 | Layout::CAlgorithm::removeTarget(...)
#7 | Layout::CAlgorithm::setFloating(...)
#8 | Layout::CSpace::toggleTargetFloating(...)
#9 | Layout::CLayoutManager::changeFloatingMode(...)
#10 | CKeybindManager::toggleActivePseudo(...)
#11 | CKeybindManager::toggleActiveFloating(...)Root cause
Likely a regression in Hyprland 0.54.0's layout system overhaul. The new layout code appears to place windows in the layout tree of the special workspace but renders them on the underlying regular workspace, creating an inconsistent state. When togglefloating tries to manipulate this inconsistent layout entry, it hits invalid data and crashes.
Related
- #4881 (layout toggle also broken on special workspaces — same root cause area)
- This should perhaps also be filed upstream at hyprwm/Hyprland
View raw text
### System details ASUS ROG Flow Z13 (GZ302EA), AMD Ryzen AI 395+, Omarchy 3.4.1, Hyprland 0.54.0, CachyOS kernel 6.19.5-3 ### What's wrong? Two related bugs introduced with Hyprland 0.54.0 (included in Omarchy 3.4): **Bug 1: New windows spawn on wrong workspace** When a special workspace is focused, newly spawned windows land on the underlying regular workspace instead of the special workspace. The window sizes/tiles as if it were inside the special workspace (e.g., takes half-width as if tiling with an existing window), but renders on the main workspace behind the special workspace (blurred). **Bug 2: Crash when toggling floating on affected windows** Pressing `Super+T` (togglefloating) on a window that spawned in this broken state causes a Hyprland SEGV crash. The backtrace shows `bad_variant_access` in `CDwindleAlgorithm::removeTarget`, called from `toggleTargetFloating`. ### To Reproduce **Bug 1:** 1. Open any special workspace (e.g., `Super+S` for scratchpad, or any `togglespecialworkspace`) 2. Spawn a new window (e.g., `Super+Return` for terminal) 3. The window appears on the underlying regular workspace, not the special workspace 4. The window is sized as if tiling inside the special workspace **Bug 2:** 1. Reproduce Bug 1 (window on wrong workspace) 2. Press `Super+T` to toggle floating on the misplaced window 3. Hyprland crashes (SEGV signal 11) ### Expected behavior - New windows spawned while a special workspace is focused should tile inside that special workspace (this worked in Hyprland 0.53.x / Omarchy 3.3) - `togglefloating` should never crash ### Troubleshooting done Verified this is NOT caused by user config: - Happens with `uwsm-app` and direct `hyprctl dispatch exec` - Happens with `hide_special_on_workspace_change` true or false - Happens with `initial_workspace_tracking` set to 0, 1, or 2 - Happens on empty special workspaces with no window rules - No relevant changes in omarchy default hypr configs between 3.3 and 3.4 ### Crash report <details> <summary>Backtrace from ~/.cache/hyprland/hyprlandCrashReport2062.txt</summary> ``` Hyprland received signal 11(SEGV) Version: 0002f148c9a4fe421a9d33c0faa5528cdc411e62 Tag: v0.54.0 Backtrace: #4 | std::__throw_bad_variant_access(unsigned int) #5 | Layout::Tiled::CDwindleAlgorithm::removeTarget(...) #6 | Layout::CAlgorithm::removeTarget(...) #7 | Layout::CAlgorithm::setFloating(...) #8 | Layout::CSpace::toggleTargetFloating(...) #9 | Layout::CLayoutManager::changeFloatingMode(...) #10 | CKeybindManager::toggleActivePseudo(...) #11 | CKeybindManager::toggleActiveFloating(...) ``` </details> ### Root cause Likely a regression in Hyprland 0.54.0's layout system overhaul. The new layout code appears to place windows in the layout tree of the special workspace but renders them on the underlying regular workspace, creating an inconsistent state. When `togglefloating` tries to manipulate this inconsistent layout entry, it hits invalid data and crashes. ### Related - #4881 (layout toggle also broken on special workspaces — same root cause area) - This should perhaps also be filed upstream at hyprwm/Hyprland
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 02:38 UTC