Unofficial community reference. Not affiliated with 37signals or the Omacom Foundation. Download Omarchy only from omarchy.org.
omarchylinux.org Unofficial field manual

Omarchy keybindings

228 default bindings in v4.0.4. Super is the Windows or Command key. Filter by a key ("shift", "return") or by what it does ("terminal", "float").

applications

KeysDoesAction
Super+EnterTerminal{ omarchy = "terminal" }
Super+Shift+EnterBrowser{ omarchy = "browser" }
Super+Shift+FFile manager{ omarchy = "nautilus" }
Super+Alt+Shift+FFile manager (cwd){ omarchy = "nautilus-cwd" }
Super+Shift+BBrowser{ omarchy = "browser" }
Super+Shift+Alt+BBrowser (private){ omarchy = "browser --private" }
Super+Shift+NEditor{ omarchy = "editor" }
Super+Alt+EnterTmux{ omarchy = "terminal-tmux" }
Super+Ctrl+EnterHerdr{ omarchy = "terminal-herdr" }
Super+Shift+MMusic{ omarchy = "spotify" }
Super+Shift+Alt+MMusic TUI{ tui = "cliamp", focus = true }
Super+Shift+DDocker{ tui = "omarchy-launch-docker-tui" }
Super+Shift+GSignal{ omarchy = "signal" }
Super+Shift+OObsidian{ launch = "obsidian", focus = "^obsidian$" }
Super+Shift+WOmawrite{ launch = "omawrite" }
Super+Shift+/Passwords{ omarchy = "1password" }
Super+Shift+AChatGPT{ webapp = "https://chatgpt.com" }
Super+Shift+Alt+AGrok{ webapp = "https://grok.com" }
Super+Shift+CCalendar{ webapp = "https://app.hey.com/calendar/weeks/" }
Super+Shift+EEmail{ webapp = "https://app.hey.com" }
Super+Shift+Alt+ENew email{ webapp = "https://app.hey.com/messages/new?display=standalone&new_window=true" }
Super+Shift+YYouTube{ webapp = "https://youtube.com/" }
Super+Shift+Alt+GWhatsApp{ webapp = "https://web.whatsapp.com/", focus = true }
Super+Shift+Ctrl+GGoogle Messages{ webapp = "https://messages.google.com/web/conversations", focus = true }
Super+Shift+PGoogle Photos{ webapp = "https://photos.google.com/", focus = true }
Super+Shift+SGoogle Maps{ webapp = "https://maps.google.com/", focus = true }
Super+Shift+XX{ webapp = "https://x.com/" }
Super+Shift+Alt+XX Post{ webapp = "https://x.com/compose/post" }

clipboard

KeysDoesAction
Super+CUniversal copyuniversal_clipboard_shortcut("CTRL", "C", "CTRL", "Insert")
Super+VUniversal pasteuniversal_clipboard_shortcut("CTRL", "V", "SHIFT", "Insert")
Super+XUniversal cutsend_shortcut_once("CTRL", "X")
Super+Ctrl+VClipboard manageromarchy-shell shell toggle omarchy.clipboard

media

KeysDoesAction
XF86AudioRaiseVolumeVolume upomarchy-audio-output-volume raise
XF86AudioLowerVolumeVolume downomarchy-audio-output-volume lower
XF86AudioMuteMuteomarchy-audio-output-volume mute-toggle
XF86AudioMicMuteMute microphoneomarchy-audio-input-mute
XF86MonBrightnessUpBrightness upomarchy-brightness-display +5%
XF86MonBrightnessDownBrightness downomarchy-brightness-display 5%-
Shift+XF86MonBrightnessUpBrightness maximumomarchy-brightness-display 100%
Shift+XF86MonBrightnessDownBrightness minimumomarchy-brightness-display 1%
XF86KbdBrightnessUpKeyboard brightness upomarchy-brightness-keyboard up
XF86KbdBrightnessDownKeyboard brightness downomarchy-brightness-keyboard down
XF86KbdLightOnOffKeyboard backlight cycleomarchy-brightness-keyboard cycle
XF86TouchpadToggleToggle touchpadtouchpad
XF86TouchpadOnEnable touchpadomarchy-toggle-touchpad on
XF86TouchpadOffDisable touchpadomarchy-toggle-touchpad off
Alt+XF86AudioRaiseVolumeVolume up preciseomarchy-audio-output-volume +1
Alt+XF86AudioLowerVolumeVolume down preciseomarchy-audio-output-volume -1
Alt+XF86MonBrightnessUpBrightness up preciseomarchy-brightness-display +1%
Alt+XF86MonBrightnessDownBrightness down preciseomarchy-brightness-display 1%-
XF86AudioNextNext trackomarchy-shell media next
Alt+XF86AudioPlayNext trackomarchy-shell media next
XF86AudioPausePauseomarchy-shell media playPause
XF86AudioPlayPlayomarchy-shell media playPause
XF86AudioPrevPrevious trackomarchy-shell media previous
Alt+Shift+XF86AudioPlayPrevious trackomarchy-shell media previous
XF86EjectEject mediaeject
Shift+XF86AudioMuteSwitch audio outputomarchy-audio-output-switch
Shift+XF86AudioPauseSwitch media sourceomarchy-audio-source-switch
Shift+XF86AudioPlaySwitch media sourceomarchy-audio-source-switch

tiling

KeysDoesAction
Super+WClose windowhl.dsp.window.close()
Ctrl+Alt+DELETEClose all windowsomarchy-hyprland-window-close-all
Super+JToggle window splithl.dsp.layout("togglesplit")
Super+PPseudo windowhl.dsp.window.pseudo()
Super+TToggle window floating/tilinghl.dsp.window.float({ action = "toggle" })
Super+FFull screenhl.dsp.window.fullscreen({ mode = "fullscreen" })
Super+Ctrl+FTiled full screenomarchy-hyprland-window-tiled-fullscreen-toggle
Super+Alt+FFull widthhl.dsp.window.fullscreen({ mode = "maximized" })
Super+OPop window out (float & pin)omarchy-hyprland-window-pop
Super+Alt+HomeSave window widthomarchy-hyprland-window-width save
Super+HomeRestore window widthomarchy-hyprland-window-width restore
Super+LToggle workspace layoutomarchy-hyprland-workspace-layout-toggle
Super+←Focus on left windowhl.dsp.focus({ direction = "l" })
Super+→Focus on right windowhl.dsp.focus({ direction = "r" })
Super+↑Focus on above windowhl.dsp.focus({ direction = "u" })
Super+↓Focus on below windowhl.dsp.focus({ direction = "d" })
Super+code:10Switch to workspace 1 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:11Switch to workspace 2 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:12Switch to workspace 3 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:13Switch to workspace 4 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:14Switch to workspace 5 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:15Switch to workspace 6 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:16Switch to workspace 7 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:17Switch to workspace 8 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:18Switch to workspace 9 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+code:19Switch to workspace 10 (generated: workspace = 1-10)hl.dsp.focus({ workspace = tostring(workspace) })
Super+Shift+code:10Move window to workspace 1 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:11Move window to workspace 2 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:12Move window to workspace 3 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:13Move window to workspace 4 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:14Move window to workspace 5 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:15Move window to workspace 6 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:16Move window to workspace 7 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:17Move window to workspace 8 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:18Move window to workspace 9 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+code:19Move window to workspace 10 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace) })
Super+Shift+Alt+code:10Move window silently to workspace 1 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:11Move window silently to workspace 2 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:12Move window silently to workspace 3 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:13Move window silently to workspace 4 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:14Move window silently to workspace 5 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:15Move window silently to workspace 6 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:16Move window silently to workspace 7 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:17Move window silently to workspace 8 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:18Move window silently to workspace 9 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+Shift+Alt+code:19Move window silently to workspace 10 (generated: workspace = 1-10)hl.dsp.window.move({ workspace = tostring(workspace), follow = false })
Super+SToggle scratchpadhl.dsp.workspace.toggle_special("scratchpad")
Super+Alt+SMove window to scratchpadhl.dsp.window.move({ workspace = "special:scratchpad", follow = false })
Super+TabNext workspacehl.dsp.focus({ workspace = "e+1" })
Super+Shift+TabPrevious workspacehl.dsp.focus({ workspace = "e-1" })
Super+Ctrl+TabFormer workspacehl.dsp.focus({ workspace = "previous" })
Super+Shift+Alt+←Move workspace to left monitorhl.dsp.workspace.move({ monitor = "l" })
Super+Shift+Alt+→Move workspace to right monitorhl.dsp.workspace.move({ monitor = "r" })
Super+Shift+Alt+↑Move workspace to up monitorhl.dsp.workspace.move({ monitor = "u" })
Super+Shift+Alt+↓Move workspace to down monitorhl.dsp.workspace.move({ monitor = "d" })
Super+Shift+←Swap window to the lefthl.dsp.window.swap({ direction = "l" })
Super+Shift+→Swap window to the righthl.dsp.window.swap({ direction = "r" })
Super+Shift+↑Swap window uphl.dsp.window.swap({ direction = "u" })
Super+Shift+↓Swap window downhl.dsp.window.swap({ direction = "d" })
Alt+TabFocus on next windowhl.dsp.window.cycle_next()
Alt+Shift+TabFocus on previous windowhl.dsp.window.cycle_next({ next = false })
Alt+TabReveal active window on tophl.dsp.window.bring_to_top()
Alt+Shift+TabReveal active window on tophl.dsp.window.bring_to_top()
Ctrl+Alt+TabFocus on next monitorhl.dsp.focus({ monitor = "+1" })
Ctrl+Alt+Shift+TabFocus on previous monitorhl.dsp.focus({ monitor = "-1" })
Super+code:20Expand window lefthl.dsp.window.resize({ x = -100, y = 0, relative = true })
Super+code:21Shrink window lefthl.dsp.window.resize({ x = 100, y = 0, relative = true })
Super+Shift+code:20Shrink window uphl.dsp.window.resize({ x = 0, y = -100, relative = true })
Super+Shift+code:21Expand window downhl.dsp.window.resize({ x = 0, y = 100, relative = true })
Super+Alt+code:20Expand window left a littlehl.dsp.window.resize({ x = -25, y = 0, relative = true })
Super+Alt+code:21Shrink window left a littlehl.dsp.window.resize({ x = 25, y = 0, relative = true })
Super+Shift+Alt+code:20Shrink window up a littlehl.dsp.window.resize({ x = 0, y = -25, relative = true })
Super+Shift+Alt+code:21Expand window down a littlehl.dsp.window.resize({ x = 0, y = 25, relative = true })
Super+Ctrl+code:20Expand window left a lothl.dsp.window.resize({ x = -300, y = 0, relative = true })
Super+Ctrl+code:21Shrink window left a lothl.dsp.window.resize({ x = 300, y = 0, relative = true })
Super+Ctrl+Shift+code:20Shrink window up a lothl.dsp.window.resize({ x = 0, y = -300, relative = true })
Super+Ctrl+Shift+code:21Expand window down a lothl.dsp.window.resize({ x = 0, y = 300, relative = true })
Super+mouse_downScroll active workspace forwardhl.dsp.focus({ workspace = "e+1" })
Super+mouse_upScroll active workspace backwardhl.dsp.focus({ workspace = "e-1" })
Super+mouse:272Move windowhl.dsp.window.drag()
Super+mouse:273Resize windowhl.dsp.window.resize()
Super+GToggle window groupinghl.dsp.group.toggle()
Super+Alt+GMove active window out of grouphl.dsp.window.move({ out_of_group = true })
Super+Alt+←Move window to group on lefthl.dsp.window.move({ into_group = "l" })
Super+Alt+→Move window to group on righthl.dsp.window.move({ into_group = "r" })
Super+Alt+↑Move window to group on tophl.dsp.window.move({ into_group = "u" })
Super+Alt+↓Move window to group on bottomhl.dsp.window.move({ into_group = "d" })
Super+Alt+TabNext window in grouphl.dsp.group.next()
Super+Alt+Shift+TabPrevious window in grouphl.dsp.group.prev()
Super+Ctrl+←Move grouped window focus lefthl.dsp.group.prev()
Super+Ctrl+→Move grouped window focus righthl.dsp.group.next()
Super+Alt+mouse_downNext window in grouphl.dsp.group.next()
Super+Alt+mouse_upPrevious window in grouphl.dsp.group.prev()
Super+Alt+code:10Switch to group window 1 (generated: index = 1-5)hl.dsp.group.active({ index = index })
Super+Alt+code:11Switch to group window 2 (generated: index = 1-5)hl.dsp.group.active({ index = index })
Super+Alt+code:12Switch to group window 3 (generated: index = 1-5)hl.dsp.group.active({ index = index })
Super+Alt+code:13Switch to group window 4 (generated: index = 1-5)hl.dsp.group.active({ index = index })
Super+Alt+code:14Switch to group window 5 (generated: index = 1-5)hl.dsp.group.active({ index = index })
Super+/Monitor scaling upomarchy-hyprland-monitor-scaling up
Super+Alt+/Monitor scaling downomarchy-hyprland-monitor-scaling down

utilities

KeysDoesAction
Super+SpaceOmarchy menuomarchy-menu toggle
Super+Alt+SpaceApps menuomarchy-menu toggle apps
Super+Ctrl+EEmojisomarchy-shell shell toggle omarchy.emojis
Super+Ctrl+CCapture menuomarchy-menu toggle capture
Super+Ctrl+OToggle menuomarchy-menu toggle toggle
Super+Ctrl+HHardware menuomarchy-menu toggle hardware
Super+Shift+code:201Omarchy menuomarchy-menu toggle root
Super+EscSystem menuomarchy-menu toggle system
XF86PowerOffPower menuomarchy-menu toggle system
Super+KKeybindingsomarchy-menu-keybindings
Super+Alt+KTmux keybindingsomarchy-menu-tmux-keybindings
Super+Ctrl+KHerdr keybindingsomarchy-menu-herdr-keybindings
Super+Ctrl+QCalculatoromacalc
XF86CalculatorCalculatoromacalc
Super+Shift+SpaceToggle top barbar
Super+Ctrl+SpaceBackground switcheromarchy-menu toggle background
Super+Shift+Ctrl+SpaceTheme menuomarchy-menu toggle theme
Super+BackspaceToggle window transparencyomarchy-hyprland-window-transparency-toggle
Super+Shift+BackspaceToggle window gapsomarchy-hyprland-window-gaps-toggle
Super+Ctrl+BackspaceToggle single-window square aspectomarchy-hyprland-window-single-square-aspect-toggle
Super+,Dismiss last notificationomarchy-shell notifications dismissOne
Super+Shift+,Dismiss all notificationsomarchy-shell notifications dismissAll
Super+Ctrl+,Toggle silencing notificationsnotification-silencing
Super+Alt+,Invoke last notificationomarchy-shell notifications invokeLast
Super+Shift+Alt+,Open notification historyomarchy-shell notifications showHistory
Super+Ctrl+IToggle locking on idleidle
Super+Ctrl+NToggle nightlightnightlight
Super+Ctrl+DeleteToggle laptop displayomarchy-hyprland-monitor-internal toggle
Super+Ctrl+Alt+DeleteToggle laptop display mirroringomarchy-hyprland-monitor-internal-mirror toggle
switch:on:Lid Switchomarchy-system-lid-close
switch:off:Lid Switchomarchy-hyprland-monitor-clamshell
PrtScScreenshotomarchy-capture-screenshot
Alt+PrtScScreenrecordingomarchy-capture-screenrecording --stop-recording || omarchy-menu toggle trigger.capture.screenrecord
Super+Alt+code:34Make webcam overlay smalleromarchy-capture-webcam-resize smaller
Super+Alt+code:35Make webcam overlay largeromarchy-capture-webcam-resize larger
Super+PrtScColor pickerpkill hyprpicker || hyprpicker -a
Super+Ctrl+PrtScExtract text (OCR) from screenshotomarchy-capture-text
Super+Ctrl+SShareomarchy-menu toggle share
Super+Ctrl+.Transcodeomarchy-transcode
Super+Ctrl+RSet reminderomarchy-menu toggle reminder-set
Super+Ctrl+Alt+RShow remindersomarchy-reminder show
Super+Shift+Ctrl+RClear remindersomarchy-reminder clear
Super+Ctrl+Alt+TShow timeomarchy-notification-time
Super+Ctrl+Alt+BShow battery remainingomarchy-notification-battery
Super+Ctrl+Alt+WToggle weatheromarchy-notification-weather
Super+Shift+Ctrl+AAgentomarchy-agent --pick
Super+Ctrl+AAudioomarchy-shell shell toggle omarchy.audio
Super+Ctrl+BBluetoothomarchy-shell shell toggle omarchy.bluetooth
Super+Ctrl+DDisplayomarchy-shell shell toggle omarchy.monitor
Super+Ctrl+Alt+DCalendaromarchy-shell shell toggle omarchy.clock
Super+Ctrl+WNetworkomarchy-shell shell toggle omarchy.network
Super+Ctrl+PPoweromarchy-shell shell toggle omarchy.power
Super+Ctrl+TActivity{ tui = "btop" }
Super+Ctrl+code:10Bar panel 1 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 1
Super+Ctrl+code:11Bar panel 2 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 2
Super+Ctrl+code:12Bar panel 3 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 3
Super+Ctrl+code:13Bar panel 4 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 4
Super+Ctrl+code:14Bar panel 5 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 5
Super+Ctrl+code:15Bar panel 6 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 6
Super+Ctrl+code:16Bar panel 7 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 7
Super+Ctrl+code:17Bar panel 8 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 8
Super+Ctrl+code:18Bar panel 9 (generated: panel = 1-9)omarchy-shell -q shell togglePanelAt right 9
Super+Ctrl+ZZoom infunction() local zoom = hl.get_config("cursor.zoom_factor") or 1 hl.config({ cursor = { zoom_factor = zoom + 1 } }) end
Super+Ctrl+Alt+ZReset zoomfunction() hl.config({ cursor = { zoom_factor = 1 } }) end
Super+Ctrl+LLock systemomarchy-system-lock

voxtype

KeysDoesAction
Super+Ctrl+XToggle dictationvoxtype record toggle
F9Start dictation (push-to-talk)voxtype record start
F9Stop dictation (push-to-talk)voxtype record stop

Questions people ask

How do I see all Omarchy keybindings on my machine?
Press Super + K on Omarchy 4 to open the keybindings viewer, or read ~/.config/hypr/bindings.lua and the defaults under /usr/share/omarchy/default/hypr/bindings/.
How do I change a keybinding in Omarchy 4?
Add or override bindings in ~/.config/hypr/bindings.lua using o.bind("SUPER + K", "Label", action) or o.rebind for an existing chord. In 3.x this lived in bindings.conf, which Omarchy 4 no longer loads.
Which Omarchy version do these keybindings describe?
These are the defaults shipped in v4.0.4, extracted from default/hypr/bindings/*.lua in the source. Older tags are listed on the version diff pages.

Source: default/hypr/bindings/*.lua at v4.0.4. Loop-generated workspace bindings (Super + 1…9) are summarized in one row. See migrating a 3.x bindings.conf.