Skip to content

Keybinds

Samy Lemcelli edited this page Aug 24, 2026 · 1 revision

Keybinds

Bindings live in the config and are written into a delimited block in ~/.config/hypr/bindings.lua. Owning a block rather than the file means your own bindings survive, and applying again replaces rather than appends.

From the app

The Keybinds page lists every binding. Click one and press the combination you want. Escape cancels, Backspace clears it.

Three actions at the bottom:

Check for conflicts compares against everything Hyprland already has bound and names what would clash.

Write and reload writes the block, runs hyprctl reload, and reports any config errors rather than leaving you to find them.

Remove the block takes it back out and leaves Hyprland's own bindings alone.

From the command line

omarchy-spaces keybinds show        # what the config asks for
omarchy-spaces keybinds conflicts   # check against Hyprland
omarchy-spaces keybinds install     # write it and reload
omarchy-spaces keybinds print       # print the Lua without writing
omarchy-spaces keybinds remove      # take the block out

Defaults

Action Binding
Open the Spaces picker SUPER + ALT + O
Next space SUPER + ALT + N
Previous space SUPER + ALT + SHIFT + N
Show the current policy SUPER + ALT + I
Workspace slot 1 to 10 SUPER + the number
Move window to slot 1 to 10 SUPER + SHIFT + the number
Switch to a space per space, for example SUPER + ALT + P
Send the window to a space per space, for example SUPER + ALT + SHIFT + P

Prefixes

workspacePrefix and moveWindowPrefix are modifiers only. The number key is appended by the generated Lua, which loops 1 to 10 and unbinds Omarchy's own SUPER+1..0 first.

The number is a slot within the active space, not a real workspace id. That is what keeps the second space's range reachable without new keys. See Workspaces and windows.

In the config

"keybinds": {
  "picker": "SUPER + ALT + O",
  "next": "SUPER + ALT + N",
  "prev": "SUPER + ALT + SHIFT + N",
  "status": "SUPER + ALT + I",
  "workspacePrefix": "SUPER",
  "moveWindowPrefix": "SUPER + SHIFT"
}

Per space:

{ "id": "work", "keybind": "SUPER + ALT + W", "sendKeybind": "SUPER + ALT + SHIFT + W" }

Omit a key to leave that action unbound.

If a reload fails

keybinds install prints hyprctl configerrors and exits non-zero rather than reporting success. Your previous file is saved as bindings.lua.bak.

Clone this wiki locally