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-1108GitHub issuePublicDecided· Out of scope

KeyboardPanel card not visible on scale=1.5 output (stock clock/agents + third-party panels)

Reported by saigkill · filed Sep 1, 2026 · open at source

Decided: Out of scope — decided by agents · verified 5 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

KeyboardPanel card not visible on scale=1.5 output (stock clock/agents + third-party panels)revision 1 · captured 2026-09-28 21:24 UTC via poll

Summary

Popup content opened via a KeyboardPanel (the stock bar control panels built on shell/Ui/KeyboardPanel.qml) is not visible on an output configured with scale = 1.5. The full-screen veil layer (omarchy-keyboard-panel) is present, but the BorderSurface card subsurface never composites onto the screen. This affects the stock clock and agents panels and any third-party plugin panel using KeyboardPanel equally (reproduced with a custom medication plugin). Non-KeyboardPanel surfaces – the Spring menu and the dev-gallery FloatingWindow – render fine, so the shell overlay path itself works.

Environment

  • Omarchy 4.0.1 (shell KeyboardPanel.qml byte-identical to current upstream v4.0.2)
  • Quickshell 0.3.1, Hyprland 0.56.2 (Lua config)
  • Samsung U32R59x 4K (3840x2160) at DP-3, configured via hl.monitor({ output="desc:Samsung Electric Company U32R59x H1AK500000", mode="3840x2160@60", position="1920x0", scale=1.5 })
  • Other outputs DP-2 / HDMI-A-1 at scale 1

Steps

  1. Open any KeyboardPanel-based panel by clicking its bar widget (clock, agents, or any plugin using KeyboardPanel) on the 1.5-scaled output.
  2. Note the omarchy-keyboard-panel full-screen layer surface appears (hyprctl layers), popup toggles via IPC (omarchy-shell shell toggle ...) confirm the plugin state changes.

Expected

The panel card renders above the veil, visible on the output, like the Clock/Agents panels do on a scale-1 monitor.

Observed

  • hyprctl layers shows only omarchy-keyboard-panel (+ ...-dismiss on the other outputs); no card subsurface is listed anywhere. Nothing of the card content is visible via screenshot/OCR on the scaled output.
  • Instrumenting card.mapToGlobal(...) from the panel returns logical coordinates that are roughly the physical position * 1.5 off surface: e.g. a card whose left edge should be on-screen (logical ≈ (2986,47) on DP-3 → physical ≈ x3519 < 3840, width ~690 at 1.5) still renders nothing. This suggests the card is being placed/measured in logical pixels that the compositor interprets as physical under scale > 1.
  • Controlling variable: opening the same panels via surfaces that are not KeyboardPanel (Spring menu shell/plugins/menu/Menu.qml, dev-gallery FloatingWindow) renders correctly on the same output.

Scope note

I could not cleanly open a KeyboardPanel popup forced onto a scale-1 output for a control case because this machine's popouts consistently land on DP-3 (cross-monitor popout ownership behavior), so the "works on scale 1" comparison is by inspection of surfaces/geometry rather than a captured render.

View raw text
## Summary

Popup content opened via a `KeyboardPanel` (the stock bar control panels built on `shell/Ui/KeyboardPanel.qml`) is not visible on an output configured with `scale = 1.5`. The full-screen veil layer (`omarchy-keyboard-panel`) is present, but the `BorderSurface` card subsurface never composites onto the screen. This affects the **stock clock and agents panels** and any third-party plugin panel using `KeyboardPanel` equally (reproduced with a custom medication plugin). Non-KeyboardPanel surfaces – the Spring menu and the dev-gallery `FloatingWindow` – render fine, so the shell overlay path itself works.

## Environment

- Omarchy 4.0.1 (shell `KeyboardPanel.qml` byte-identical to current upstream v4.0.2)
- Quickshell 0.3.1, Hyprland 0.56.2 (Lua config)
- Samsung U32R59x 4K (3840x2160) at DP-3, configured via `hl.monitor({ output="desc:Samsung Electric Company U32R59x H1AK500000", mode="3840x2160@60", position="1920x0", scale=1.5 })`
- Other outputs DP-2 / HDMI-A-1 at scale 1

## Steps

1. Open any KeyboardPanel-based panel by clicking its bar widget (clock, agents, or any plugin using `KeyboardPanel`) on the 1.5-scaled output.
2. Note the `omarchy-keyboard-panel` full-screen layer surface appears (`hyprctl layers`), popup toggles via IPC (`omarchy-shell shell toggle ...`) confirm the plugin state changes.

## Expected

The panel card renders above the veil, visible on the output, like the Clock/Agents panels do on a scale-1 monitor.

## Observed

- `hyprctl layers` shows only `omarchy-keyboard-panel` (+ `...-dismiss` on the other outputs); no card subsurface is listed anywhere. Nothing of the card content is visible via screenshot/OCR on the scaled output.
- Instrumenting `card.mapToGlobal(...)` from the panel returns logical coordinates that are roughly the physical position * 1.5 off surface: e.g. a card whose left edge should be on-screen (logical ≈ (2986,47) on DP-3 → physical ≈ x3519 < 3840, width ~690 at 1.5) still renders nothing. This suggests the card is being placed/measured in logical pixels that the compositor interprets as physical under scale > 1.
- Controlling variable: opening the same panels via surfaces that are **not** KeyboardPanel (Spring menu `shell/plugins/menu/Menu.qml`, dev-gallery `FloatingWindow`) renders correctly on the same output.

## Scope note

I could not cleanly open a KeyboardPanel popup forced onto a scale-1 output for a control case because this machine's popouts consistently land on DP-3 (cross-monitor popout ownership behavior), so the "works on scale 1" comparison is by inspection of surfaces/geometry rather than a captured render.

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 10:26 UTC