Open shell menus and panels through Hyprland global shortcuts (#13418)
Every binding that opened a menu or panel ran omarchy-menu or
omarchy-shell, which starts a qs client just to deliver one IPC call:
~60ms before the shell heard about the keypress.
The shell now registers a Hyprland global shortcut for each menu route
and panel in default/omarchy/shortcuts, and o.bind turns { menu = ... }
and { panel = ... } into hl.dsp.global for those, so a keypress spawns
nothing. A route or panel missing from the list binds through the
command as before. The default menu and panel bindings use the new form.
SUPER+SPACE opens the menu in ~31ms instead of ~94ms, measured from a
simulated keypress until the menu layer maps.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
fd961e5300
commit
6762769bbf
9 files changed
+251
-22
No files matched your search
@@ -36,8 +36,12 @@ Edit `~/.config/hypr/bindings.lua`. Format:
|
||||
```lua
|
||||
o.bind("SUPER + SHIFT + R", "SSH", "alacritty -e ssh your-server")
|
||||
o.bind("SUPER + B", "Browser", { launch = "chromium" }) -- launch wraps with uwsm-app
|
||||
o.bind("SUPER + M", "Theme menu", { menu = "theme" }) -- toggle an Omarchy menu route
|
||||
o.bind("SUPER + N", "Network", { panel = "omarchy.network" }) -- toggle a shell panel
|
||||
```
|
||||
|
||||
Prefer `{ menu = ... }` and `{ panel = ... }` over running `omarchy-menu toggle ...` or `omarchy-shell shell toggle ...` as a command. Routes and panels listed in `$OMARCHY_PATH/default/omarchy/shortcuts` go straight to the running shell as Hyprland global shortcuts, with no process started on each press; any other route or panel still works, through the command.
|
||||
|
||||
View current bindings: `omarchy menu keybindings --print`
|
||||
|
||||
**IMPORTANT: When re-binding an existing key:**
|
||||
|
||||
Reference in new issue
Block a user