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 panels dismiss when typing on an on-screen keyboard (wifi password, etc.)
Reported by ekollof · filed Sep 2, 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
Summary
On a touchscreen, opening a bar popdown (Wi-Fi, Bluetooth, …) and typing on a layer-shell on-screen keyboard closes the panel on the first key tap. The passphrase field never receives the text. Same mechanism as #9029, but in Ui/KeyboardPanel.qml rather than the menu — #9135 does not fix this.
Environment
- Omarchy 4.0.2-1, Hyprland 0.56.2
- Hardware: GPD Pocket 4 (touchscreen)
- OSK: omarchy-osk (
ekollof-osklayer-shell,WlrLayer.Top, exclusive zone = keyboard height,keyboardFocus: None) — wvkbd would hit the same overlay
Steps to reproduce
- Show an on-screen keyboard (bottom exclusive zone)
- Open the network bar applet and tap a secured SSID so the password field appears
- Tap keys on the OSK
Observed
- The Wi-Fi popdown closes on the first OSK tap
- Nothing is typed into the passphrase field
Expected
- The panel stays open and OSK keystrokes go into the focused
TextField(PanelKeyCatcher is alreadyblockedwhilepasswordSsidis set)
Root cause
shell/Ui/KeyboardPanel.qml (used by network, bluetooth, audio, power, …) is a full-screen Overlay with:
exclusionMode: ExclusionMode.Ignore
WlrLayershell.keyboardFocus: open
? (focusPrimed ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.Exclusive)
: WlrKeyboardFocus.NoneIgnore sets exclusive_zone = -1, so the overlay covers the OSK's reserved band. OSK taps are synthetic pointer clicks; Hyprland hit-tests the Overlay (omarchy-keyboard-panel) instead of the OSK (Top). The click is outside the card → dismissArea.onClicked → close().
The 75ms Exclusive prime is the same pointer-capture issue as #9029, but after that the panel is already OnDemand — covering the exclusive zone is enough to dismiss.
#9029 / #9135 only change Menu.qml. KeyboardPanel is shared by every bar popdown.
Fix
ExclusionMode.Auto on KeyboardPanel (and the other-output dismiss twins) so the overlay no longer covers the OSK exclusive zone. Keep the Exclusive→OnDemand prime so keyboard-summoned panels still take focus.
Related: #9029, #9135.
View raw text
### Summary On a touchscreen, opening a bar popdown (Wi-Fi, Bluetooth, …) and typing on a layer-shell on-screen keyboard closes the panel on the first key tap. The passphrase field never receives the text. Same mechanism as #9029, but in `Ui/KeyboardPanel.qml` rather than the menu — **#9135 does not fix this**. ### Environment - Omarchy 4.0.2-1, Hyprland 0.56.2 - Hardware: GPD Pocket 4 (touchscreen) - OSK: omarchy-osk (`ekollof-osk` layer-shell, `WlrLayer.Top`, exclusive zone = keyboard height, `keyboardFocus: None`) — wvkbd would hit the same overlay ### Steps to reproduce 1. Show an on-screen keyboard (bottom exclusive zone) 2. Open the network bar applet and tap a secured SSID so the password field appears 3. Tap keys on the OSK ### Observed - The Wi-Fi popdown closes on the first OSK tap - Nothing is typed into the passphrase field ### Expected - The panel stays open and OSK keystrokes go into the focused `TextField` (PanelKeyCatcher is already `blocked` while `passwordSsid` is set) ### Root cause `shell/Ui/KeyboardPanel.qml` (used by network, bluetooth, audio, power, …) is a full-screen Overlay with: ```qml exclusionMode: ExclusionMode.Ignore WlrLayershell.keyboardFocus: open ? (focusPrimed ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.Exclusive) : WlrKeyboardFocus.None ``` `Ignore` sets `exclusive_zone = -1`, so the overlay covers the OSK's reserved band. OSK taps are synthetic pointer clicks; Hyprland hit-tests the Overlay (`omarchy-keyboard-panel`) instead of the OSK (`Top`). The click is outside the card → `dismissArea.onClicked` → `close()`. The 75ms Exclusive prime is the same pointer-capture issue as #9029, but after that the panel is already OnDemand — **covering the exclusive zone is enough to dismiss**. #9029 / #9135 only change `Menu.qml`. KeyboardPanel is shared by every bar popdown. ### Fix `ExclusionMode.Auto` on KeyboardPanel (and the other-output dismiss twins) so the overlay no longer covers the OSK exclusive zone. Keep the Exclusive→OnDemand prime so keyboard-summoned panels still take focus. Related: #9029, #9135.
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-10 00:06 UTC
- Out of scopeDecided by agents · verified · 2026-10-09 10:34 UTC · withdrawn