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>
29 lines
1.1 KiB
Lua
29 lines
1.1 KiB
Lua
-- Keep only your personal keybinding overrides here. Add new bindings with
|
|
-- o.bind or replace defaults with o.rebind.
|
|
|
|
-- See current bindings and descriptions:
|
|
-- omarchy menu keybindings --print
|
|
|
|
-- To disable every Omarchy default binding, set this in
|
|
-- ~/.config/hypr/hyprland.lua before require("default.hypr.omarchy"), then add
|
|
-- only the bindings you want below:
|
|
-- omarchy_default_bindings = false
|
|
|
|
-- To disable all preinstalled app/webapp bindings, set:
|
|
-- omarchy_preinstalled_bindings = false
|
|
|
|
-- Add a new binding.
|
|
-- o.bind("SUPER + SHIFT + R", "SSH", "alacritty -e ssh your-server")
|
|
|
|
-- Change an existing binding. o.rebind takes the same arguments as o.bind.
|
|
-- This example replaces the default file manager with Flea.
|
|
-- o.rebind("SUPER + SHIFT + F", "File manager", { launch = "flea" })
|
|
|
|
-- Disable a default binding without replacing it.
|
|
-- hl.unbind("SUPER + SHIFT + B")
|
|
|
|
-- Logitech MX Keys examples:
|
|
-- o.bind("SUPER + SHIFT + S", nil, "omarchy-capture-screenshot")
|
|
-- o.bind("SUPER + H", nil, "voxtype record toggle")
|
|
-- o.bind("SUPER + PERIOD", nil, { panel = "omarchy.emojis" })
|