Omahub
← All plugins
D

Esc Back Menu

by devgtv

Omarchy menu where Escape navigates back to the previous submenu instead of closing

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
a98970c
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
a98970c
Reviewed
1 month ago

This plugin is a straightforward clone of the stock Omarchy menu with a single documented behavior change to Escape handling. The sampled source contains no obfuscation, hidden persistence, credential theft, or destructive actions, and the deterministic scan found no issues.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/devgtv/omarchy-menu-esc-back --enable
Desktop #quickshell #launcher

Esc Back Menu

An Omarchy shell plugin that changes one small but annoying behavior of the built-in Omarchy menu: pressing Escape inside a submenu now takes you back to the previous menu instead of closing the whole launcher.

It is a drop-in replacement for the stock omarchy.menu plugin — everything else (search, navigation, providers, bar widget, omarchy-menu.jsonc extensions) works exactly the same.

The problem

In the stock Omarchy menu, the keyboard behaves like this:

Key Stock behavior
Escape Clears the search filter, otherwise closes the menu entirely
Backspace / ← Goes back to the previous submenu
→ / Enter Enters a submenu / activates the selected row

So if you are navigating deep into submenus with the keyboard and instinctively hit Escape to go back one level — as most launchers and TUIs behave — the menu simply vanishes and you have to start over.

What this plugin changes

Key Behavior with this plugin
Escape with text in the search filter Clears the filter (unchanged)
Escape inside a submenu Goes back to the previous menu
Escape at the root menu Closes the menu (unchanged)

That is literally the whole diff — one line in Menu.qml:

 } else if (event.key === Qt.Key_Escape) {
   if (root.filterText) root.setFilter("")
-  else root.cancel()
+  else if (!root.goBack()) root.cancel()
   event.accepted = true
 }

goBack() pops the navigation stack and returns false when you are already at the root menu, in which case the plugin falls back to the original cancel() behavior and closes. Backspace and ← keep working as before.

Installation

Requires an up-to-date Omarchy system (Quickshell-based menu).

omarchy plugin add https://github.com/devgtv/omarchy-menu-esc-back.git --enable

Enabling a menu-kind plugin automatically replaces the menu currently in use, so the stock omarchy.menu gets disabled for you. Your ~/.config/omarchy/extensions/omarchy-menu.jsonc extensions keep working — they are loaded by id, not by plugin.

If you prefer to do it step by step:

# 1. Add the plugin (without enabling yet)
omarchy plugin add https://github.com/devgtv/omarchy-menu-esc-back.git

# 2. Enable it (replaces the active menu)
omarchy plugin enable devgtv.menu-esc-back

Then open the menu as usual (Super + Space, or clicking the bar widget), enter any submenu and press Escape — you should land back on the previous menu instead of the menu closing.

Updating

Because the plugin is installed from git, it can be updated in place:

omarchy plugin update devgtv.menu-esc-back

Uninstalling / going back to the stock menu

omarchy plugin remove devgtv.menu-esc-back
omarchy plugin enable omarchy.menu

Your system is back to the exact stock behavior.

How it was made / keeping it in sync

This plugin is a straight clone of the built-in omarchy.menu (omarchy plugin clone omarchy.menu) with the one-line change shown above. The manifest.json records this via "omarchy": { "clonedFrom": "omarchy.menu" }.

Because it vendors the menu code, upstream fixes to omarchy.menu do not flow in automatically. If Omarchy updates the stock menu and this plugin starts to misbehave after an omarchy update, please open an issue and the plugin will be re-synced.

Plugin structure

manifest.json   # Plugin manifest (id: devgtv.menu-esc-back)
Menu.qml        # Menu UI + key handling (contains the Esc change)
MenuModel.js    # Menu model/providers (unmodified from upstream)
BarWidget.qml   # Bar widget that launches the menu (unmodified)

License

MIT — see LICENSE.

This is a derivative work of Omarchy's built-in omarchy.menu plugin (copyright the Omarchy authors), which is also MIT licensed. Original project: https://github.com/basecamp/omarchy