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

Menu launcher lost Walker's web-search fallback for no-match queries

Reported by Balmisjutas · filed Aug 15, 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; not a duplicate of another report — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.

Original report

Menu launcher lost Walker's web-search fallback for no-match queriesrevision 1 · captured 2026-09-28 21:29 UTC via poll

Title: Menu launcher lost Walker's "search the web" fallback for no-match queries

Before Quattro, Walker's websearch provider (via elephant) meant typing a
query with no matching app/setting would still let you hit Enter and get a
web search in your default browser. The new native Omarchy menu (Super+Space)
searches apps/settings/menu entries fine, but there's no fallback at all when
nothing matches — Enter just does nothing.

Checked the actual Menu.qml/MenuModel.js source to confirm this isn't
just undocumented: there's no websearch, google, or similar string
anywhere in /usr/share/omarchy/shell/plugins/menu/. It looks like an
omission from the Walker->native rewrite rather than an intentional drop.

I patched it locally (as a cloned omarchy.menu plugin, so it's easy to
test without touching the packaged copy) and it's a small, surgical change:
in rebuildDisplay(), when a search query produces zero rows, synthesize
one fallback row whose action shells out to omarchy-launch-browser (the
existing helper that already respects the user's actual default browser via
xdg-settings, not any specific browser) with a Google search URL for the
typed query.

Diff against shell/plugins/menu/Menu.qml:

@@ -602,6 +602,29 @@
         for (var d = 0; d < drilldownRows.length; d++) drilldownRows[d].section = "drilldown"
       }
       rows = currentRows.concat(drilldownRows)
+
+      // No app/setting/menu entry matched — fall back to a web search, the
+      // way Walker's "websearch" elephant provider used to.
+      if (rows.length === 0) {
+        rows = [{
+          itemId: "lemec.websearch",
+          kind: "action",
+          icon: "󰖟",
+          iconFont: "",
+          appIcon: "",
+          appId: "",
+          label: "Search Google for “" + query + "”",
+          target: "",
+          detail: "",
+          path: "",
+          childCount: 0,
+          action: "omarchy-launch-browser " + Util.shellQuote("https://www.google.com/search?q=" + encodeURIComponent(query)),
+          provider: "",
+          score: 0,
+          section: ""
+        }]
+      }
     } else {
       for (var j = 0; j < root.itemOrder.length; j++) {
         var child = root.item(root.itemOrder[j])

Tested live: reloaded the shell with the cloned plugin, searched a nonsense
string, confirmed the fallback row renders, hit Enter, confirmed it opens
the actual configured default browser (tested with both Chromium and Brave)
at the right Google search URL — and confirmed normal app/setting search is
completely unaffected when there IS a match.

Happy to open this as a PR against the packaged menu plugin if that's
wanted, or if there's a reason this was left out on purpose I'd like to
know so I can stop working around it locally.

View raw text
Title: Menu launcher lost Walker's "search the web" fallback for no-match queries

Before Quattro, Walker's `websearch` provider (via elephant) meant typing a
query with no matching app/setting would still let you hit Enter and get a
web search in your default browser. The new native Omarchy menu (Super+Space)
searches apps/settings/menu entries fine, but there's no fallback at all when
nothing matches — Enter just does nothing.

Checked the actual `Menu.qml`/`MenuModel.js` source to confirm this isn't
just undocumented: there's no `websearch`, `google`, or similar string
anywhere in `/usr/share/omarchy/shell/plugins/menu/`. It looks like an
omission from the Walker->native rewrite rather than an intentional drop.

I patched it locally (as a cloned `omarchy.menu` plugin, so it's easy to
test without touching the packaged copy) and it's a small, surgical change:
in `rebuildDisplay()`, when a search query produces zero rows, synthesize
one fallback row whose action shells out to `omarchy-launch-browser` (the
existing helper that already respects the user's actual default browser via
`xdg-settings`, not any specific browser) with a Google search URL for the
typed query.

Diff against `shell/plugins/menu/Menu.qml`:

```diff
@@ -602,6 +602,29 @@
         for (var d = 0; d < drilldownRows.length; d++) drilldownRows[d].section = "drilldown"
       }
       rows = currentRows.concat(drilldownRows)
+
+      // No app/setting/menu entry matched — fall back to a web search, the
+      // way Walker's "websearch" elephant provider used to.
+      if (rows.length === 0) {
+        rows = [{
+          itemId: "lemec.websearch",
+          kind: "action",
+          icon: "󰖟",
+          iconFont: "",
+          appIcon: "",
+          appId: "",
+          label: "Search Google for “" + query + "”",
+          target: "",
+          detail: "",
+          path: "",
+          childCount: 0,
+          action: "omarchy-launch-browser " + Util.shellQuote("https://www.google.com/search?q=" + encodeURIComponent(query)),
+          provider: "",
+          score: 0,
+          section: ""
+        }]
+      }
     } else {
       for (var j = 0; j < root.itemOrder.length; j++) {
         var child = root.item(root.itemOrder[j])
```

Tested live: reloaded the shell with the cloned plugin, searched a nonsense
string, confirmed the fallback row renders, hit Enter, confirmed it opens
the actual configured default browser (tested with both Chromium and Brave)
at the right Google search URL — and confirmed normal app/setting search is
completely unaffected when there IS a match.

Happy to open this as a PR against the packaged menu plugin if that's
wanted, or if there's a reason this was left out on purpose I'd like to
know so I can stop working around it locally.

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/7075· confirmed
  • Fixed bypr/8012· confirmed
  • Fixed bypr/13971· confirmed
  • Fixed bypr/8537· 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
  • Decided by agents · verified: not a duplicate of another report

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