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.
Bar tray: left-clicking an item leaves its menu open, and the tooltip draws on top of that menu
Reported by x3m · filed Sep 22, 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
Intel Core Ultra 9 285H, Intel Arc 140T (Arrow Lake-P), Omarchy 4.0.4-1, Quickshell 0.3.1-1, Hyprland 0.56.2
What's wrong?
Two faults in omarchy.tray, both reachable in about five seconds with any tray application whose icon does something on a left click. They compound, so I am reporting them together.
1. Activating a tray item does not dismiss its open menu.
- Right-click a tray icon. Its menu opens.
- Left-click the same icon.
The application activates, showing whatever it shows, and the menu stays open on top of it. Clicking the icon repeatedly never closes the menu. The only way out is to click somewhere off the bar.
Nothing in the current code would close it. PopupCard dismisses on an outside click through HyprlandFocusGrab, but the grab lists the anchor window among the windows it keeps routing input to:
HyprlandFocusGrab {
active: root.open && root.triggerMode === "click"
windows: root.anchorWindow ? [root, root.anchorWindow] : [root]
onCleared: root.close()
}The anchor window for a tray menu is the bar. So a click anywhere on the bar, the tray icon included, never clears the grab, and Tray.qml's onClicked goes straight to modelData.activate() without touching trayMenuOpen.
2. The tooltip draws on top of the open menu.
Same steps. The tooltip for the icon stays up, covering the first rows of the menu it belongs to.
The cursor is still over the icon while that icon's menu is open, because that icon is what was just right-clicked. So TrayItem.tooltipHovered stays true:
readonly property bool tooltipHovered: visible && opacity > 0 && mouseArea.containsMouseBar.targetTooltipHovered reads exactly that property, so the 100 ms hover poller in Bar.qml never takes the tooltip down, and moving the cursor away and back puts it up again.
Observed with the tooltip box sitting squarely over the menu's first two rows, so the top of the menu is unreadable until the cursor leaves the bar entirely.
Both are in shell/plugins/bar/widgets/Tray.qml. I have a patch and will open a pull request against quattro alongside this.
View raw text
### System details
Intel Core Ultra 9 285H, Intel Arc 140T (Arrow Lake-P), Omarchy 4.0.4-1, Quickshell 0.3.1-1, Hyprland 0.56.2
### What's wrong?
Two faults in `omarchy.tray`, both reachable in about five seconds with any tray application whose icon does something on a left click. They compound, so I am reporting them together.
**1. Activating a tray item does not dismiss its open menu.**
1. Right-click a tray icon. Its menu opens.
2. Left-click the same icon.
The application activates, showing whatever it shows, and the menu stays open on top of it. Clicking the icon repeatedly never closes the menu. The only way out is to click somewhere off the bar.
Nothing in the current code would close it. `PopupCard` dismisses on an outside click through `HyprlandFocusGrab`, but the grab lists the anchor window among the windows it keeps routing input to:
```qml
HyprlandFocusGrab {
active: root.open && root.triggerMode === "click"
windows: root.anchorWindow ? [root, root.anchorWindow] : [root]
onCleared: root.close()
}
```
The anchor window for a tray menu is the bar. So a click anywhere on the bar, the tray icon included, never clears the grab, and `Tray.qml`'s `onClicked` goes straight to `modelData.activate()` without touching `trayMenuOpen`.
**2. The tooltip draws on top of the open menu.**
Same steps. The tooltip for the icon stays up, covering the first rows of the menu it belongs to.
The cursor is still over the icon while that icon's menu is open, because that icon is what was just right-clicked. So `TrayItem.tooltipHovered` stays true:
```qml
readonly property bool tooltipHovered: visible && opacity > 0 && mouseArea.containsMouse
```
`Bar.targetTooltipHovered` reads exactly that property, so the 100 ms hover poller in `Bar.qml` never takes the tooltip down, and moving the cursor away and back puts it up again.
Observed with the tooltip box sitting squarely over the menu's first two rows, so the top of the menu is unreadable until the cursor leaves the bar entirely.
Both are in `shell/plugins/bar/widgets/Tray.qml`. I have a patch and will open a pull request against `quattro` alongside this.
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 19:26 UTC