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-1652GitHub issuePublicFixed

Menu empty-state text overflows the container on long queries

Reported by jampierzuniga · filed Aug 19, 2026 · open at source

In the audited area (menu) — decided by agents · verified. Not validated yet.

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?
AreaIn the audited areamenu· 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?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. So far: in the audited area (menu) — decided by agents · verified; matches no known issue — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.

Original report

Menu empty-state text overflows the container on long queriesrevision 1 · captured 2026-09-28 21:29 UTC via poll

What happened

In the Omarchy menu, when a search query returns no results, the "No matches for …" message overflows the menu's rounded container and is painted outside it on both sides. The search field at the top elides correctly, so only the empty-state message is affected.

What I expected

The empty-state message should stay inside the menu container, elided or wrapped like every other text in the menu.

Steps to reproduce

  1. Open the Omarchy menu (SUPER + SPACE by default).
  2. Type a long string that matches nothing, e.g. holas como esatas cjaksjdwdawdjwdj.
  3. The "No matches for …" line spills out past the left and right edges of the menu.

Cause

shell/plugins/menu/Menu.qml (line 1462 on main) gives the empty-state Text a fixed width and no elide or wrapMode, so once contentWidth exceeds that width the text is centered on it and bleeds out symmetrically:

Text {
  text: root.filterText ? "No matches for “" + root.filterText + "”" : "Nothing here yet"
  color: root.foreground
  opacity: 0.7
  font.family: root.fontFamily
  font.pixelSize: Style.font.title
  horizontalAlignment: Text.AlignHCenter
  width: Style.space(320)          // <-- fixed width
}

The two sibling components that render the same empty state both bind to the container instead, which is why neither shows the problem as readily:

ComponentFileWidth
Clipboardshell/plugins/clipboard/Clipboard.qml:596width: parent.width
Emojisshell/plugins/emojis/Emojis.qml:329width: parent.width
Menushell/plugins/menu/Menu.qml:1456width: Style.space(320)

The menu appears to be the odd one out here.

Suggested fix

Match the siblings and add eliding:

  width: parent.width
  elide: Text.ElideRight

Adding elide to the clipboard and emoji variants too would harden them against the same overflow with a sufficiently long query.

System

  • Omarchy: 4.0.0-1 (stable)
  • CPU: 12th Gen Intel Core i5-1235U
  • GPU: Intel Alder Lake-UP3 GT2 [UHD Graphics]
  • Kernel: 7.1.8-1-cachyos
  • quickshell: 0.3.0.r20.g28771c7-1

Note: this install is Omarchy on top of CachyOS rather than a stock Omarchy install. The defect is in the QML itself and is present in main, so it should not be environment-specific, but flagging it for completeness.

View raw text
### What happened

In the Omarchy menu, when a search query returns no results, the "No matches for …" message overflows the menu's rounded container and is painted outside it on both sides. The search field at the top elides correctly, so only the empty-state message is affected.

### What I expected

The empty-state message should stay inside the menu container, elided or wrapped like every other text in the menu.

### Steps to reproduce

1. Open the Omarchy menu (`SUPER + SPACE` by default).
2. Type a long string that matches nothing, e.g. `holas como esatas cjaksjdwdawdjwdj`.
3. The "No matches for …" line spills out past the left and right edges of the menu.

### Cause

`shell/plugins/menu/Menu.qml` (line 1462 on `main`) gives the empty-state `Text` a **fixed** width and no `elide` or `wrapMode`, so once `contentWidth` exceeds that width the text is centered on it and bleeds out symmetrically:

```qml
Text {
  text: root.filterText ? "No matches for “" + root.filterText + "”" : "Nothing here yet"
  color: root.foreground
  opacity: 0.7
  font.family: root.fontFamily
  font.pixelSize: Style.font.title
  horizontalAlignment: Text.AlignHCenter
  width: Style.space(320)          // <-- fixed width
}
```

The two sibling components that render the same empty state both bind to the container instead, which is why neither shows the problem as readily:

| Component | File | Width |
| --- | --- | --- |
| Clipboard | `shell/plugins/clipboard/Clipboard.qml:596` | `width: parent.width` |
| Emojis | `shell/plugins/emojis/Emojis.qml:329` | `width: parent.width` |
| **Menu** | `shell/plugins/menu/Menu.qml:1456` | `width: Style.space(320)` |

The menu appears to be the odd one out here.

### Suggested fix

Match the siblings and add eliding:

```qml
  width: parent.width
  elide: Text.ElideRight
```

Adding `elide` to the clipboard and emoji variants too would harden them against the same overflow with a sufficiently long query.

### System

- Omarchy: 4.0.0-1 (stable)
- CPU: 12th Gen Intel Core i5-1235U
- GPU: Intel Alder Lake-UP3 GT2 [UHD Graphics]
- Kernel: 7.1.8-1-cachyos
- quickshell: 0.3.0.r20.g28771c7-1

Note: this install is Omarchy on top of CachyOS rather than a stock Omarchy install. The defect is in the QML itself and is present in `main`, so it should not be environment-specific, but flagging it for completeness.

Also reported as

This defect is tracked under R-1652 (filed Aug 19, 2026). 1 other report describes the same defect.

Earliest report of this defect: R-1715 (filed Aug 17, 2026).

  1. Aug 19, 2026R-1652 · this report— tracked here
  2. ·Decided by agents · verified

    Open upstream.

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

  • Fixed bypr/14579· confirmed
  • Fixed bypr/12431· confirmed
  • Fixed bypr/8654· confirmed
  • Fixed bypr/7653· confirmed
  • Fixed bypr/7296· confirmed

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.

  • Decided by agents · verified: in the audited area (menu)
  • Decided by agents · verified: matches no known issue

The outcome (valid, duplicate, not a bug, …) is not decided yet.