Skip to content

Keybindings

Keybindings live under [keybinds] in wm.toml. See the wm.toml reference for the full list of accepted keys. A built-in action accepts one chord, a list of chords, or an empty list that removes all bindings for that action.

[keybinds]
cycle_focus = ["Super+Tab", "Alt+Tab"]
close_focused = "Super+Q"
reload_rules = []

Omitting an action preserves its compiled-in default. The packaged wm.toml also supplies a few useful bindings that are not compiled defaults, including the four layout slots and scrolling column movement.

Join tokens with +; names are case-insensitive.

  • Modifiers: Super/Mod4, Ctrl, Alt/Mod1, and Shift
  • Keys: printable characters, F1 through F24, navigation keys such as Return, Tab, Escape, BackSpace, Left, and PageDown, plus common XF86 media and brightness keys

Super means the primary modifier. It normally resolves to Mod4, but a session started with AQUEOUS_MOD=Alt uses Alt instead.

[keybinds]
toggle_start_menu = "Super+Space"
spawn_terminal = "Super+Return"
close_focused = "Super+Q"
cycle_focus = "Super+Tab"
lock_screen = "Super+Ctrl+L"
reload_config = "Super+R"
toggle_overview = "Super+W"
screenshot = "Print"
focus_left = "Super+H"
focus_right = "Super+L"
focus_up = "Super+K"
focus_down = "Super+J"
move_window_left = "Super+Shift+Left"
move_window_right = "Super+Shift+Right"
move_window_up = "Super+Shift+Up"
move_window_down = "Super+Shift+Down"

toggle_overview opens a workspace-local window overview. Navigate with arrow keys, H/J/K/L, or Tab, then confirm the selected window. screenshot executes the matching action in [actions], just like the first three launch actions:

[actions]
toggle_start_menu = "noctalia msg panel-toggle launcher"
spawn_terminal = "foot"
lock_screen = "swaylock -f"
screenshot = "grim -g \"$(slurp)\" - | wl-copy"

Movement follows the active layout: tiled layouts swap neighbors, scrolling swaps columns or reorders within a column, monocle changes stack order, and float leaves directional movement as a no-op.

The four set_layout_* actions resolve through [layout.slots] in layout.toml.

[keybinds]
set_layout_primary = "Super+T"
set_layout_secondary = "Super+F"
set_layout_tertiary = "Super+M"
set_layout_quaternary = "Super+G"
scroll_viewport_left_arrow = "Super+Left"
scroll_viewport_right_arrow = "Super+Right"
move_column_left = "Super+Shift+H"
move_column_right = "Super+Shift+L"

scroll_viewport_left and scroll_viewport_right remain available as legacy aliases, bound by default to Super+Comma and Super+Period.

Workspaces are exclusive: a window belongs to one workspace, and one workspace is active on each output. Workspace numbers are 1-based.

[keybinds]
focus_workspace_1 = "Super+1" # continue through focus_workspace_9
move_to_workspace_1 = "Super+Shift+1"
focus_workspace_up = "Super+Bracketleft"
focus_workspace_down = "Super+Bracketright"
focus_previous_workspace = "Super+BackSpace"
move_to_workspace_up = "Super+Shift+Bracketleft"
move_to_workspace_down = "Super+Shift+Bracketright"
focus_output_left = "Super+Ctrl+Comma"
focus_output_right = "Super+Ctrl+Period"
move_to_output_left = "Super+Shift+Comma"
move_to_output_right = "Super+Shift+Period"
[keybinds]
toggle_fullscreen = "Super+Shift+F"
toggle_maximize = "Super+Shift+M"
toggle_floating = "Super+Shift+Space"
toggle_minimize = "Super+N"
unminimize_last = "Super+Shift+N"
# Hold to release a game's active pointer constraint; release to re-engage it.
untrap_pointer = "Super+grave"

State toggles remember their prior state, so pressing the same binding again restores it. Aqueous allows one fullscreen window per output.

Use [keybinds.custom] when a chord should run a command, select a layout directly, or invoke a built-in action by name.

[keybinds.custom]
"Super+E" = "spawn:nemo"
"Super+Shift+S" = "spawn:grim -g \"$(slurp)\" - | wl-copy"
"Super+Alt+D" = "set_layout:dwindle"
"Alt+F4" = "builtin:close_focused"
"XF86AudioRaiseVolume" = "spawn:wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"

The supported verbs are:

  • spawn:<command> — run a detached command through /bin/sh -c
  • set_layout:<id-or-slot> — select tile, monocle, grid, rows, dwindle, scrolling, float, game-mode, or a slot name
  • builtin:<action> — invoke any canonical built-in action

If multiple declarations use the same chord, the last declaration wins.

© 2026 Seafoam LabsShelly Chel