Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Cheatsheet

A one-page reference for the default Mosaico keyboard shortcuts and CLI actions. Print it, pin it, or just keep this tab open.

Tip: every shortcut shown here can be remapped in ~/.config/mosaico/keybindings.toml. See Keyboard Bindings for the full configuration reference.

At a Glance

Alt + H/J/K/L            focus left/down/up/right
Alt + Shift + H/J/K/L    move/swap window left/down/up/right
Alt + 1 .. Alt + 8       switch to workspace N
Alt + Shift + 1 .. 8     send focused window to workspace N
Alt + N                  cycle layout (BSP -> VStack -> 3Col)
Alt + T                  toggle monocle (full-screen one window)
Alt + M                  minimize focused window
Alt + Q                  close focused window
Alt + Shift + R          retile (re-apply current layout, splits back)
Alt + Shift + P          pause / unpause all mosaico hotkeys

Focus

Move keyboard focus between tiled windows. Left and right cross monitors when no neighbor exists in that direction; up and down stay on the current monitor.

ShortcutActionCLI
Alt + HFocus leftmosaico action focus left
Alt + JFocus downmosaico action focus down
Alt + KFocus upmosaico action focus up
Alt + LFocus rightmosaico action focus right

Move

Swap the focused window with its neighbor in the given direction. Left and right can move a window between adjacent monitors; up and down swap within the same monitor.

ShortcutActionCLI
Alt + Shift + HMove leftmosaico action move left
Alt + Shift + JMove downmosaico action move down
Alt + Shift + KMove upmosaico action move up
Alt + Shift + LMove rightmosaico action move right

Workspaces

Each monitor has up to 8 workspaces. The default mode is per-monitor: switching workspace only affects the focused monitor. Set workspaces.mode = "global" in config.toml to flip every monitor in lockstep, like Windows virtual desktops. See Workspaces.

ShortcutActionCLI
Alt + 1Switch to workspace 1mosaico action go-to-workspace 1
Alt + 2Switch to workspace 2mosaico action go-to-workspace 2
………
Alt + 8Switch to workspace 8mosaico action go-to-workspace 8
Alt + Shift + 1Send window to workspace 1mosaico action send-to-workspace 1
Alt + Shift + 2Send window to workspace 2mosaico action send-to-workspace 2
………
Alt + Shift + 8Send window to workspace 8mosaico action send-to-workspace 8
–Next workspacemosaico action go-to-workspace-next
–Previous workspacemosaico action go-to-workspace-prev

On the status bar, click a workspace number to go there on that monitor, or scroll over the bar to step through the workspaces.

Layout

Cycle through Mosaico’s three tiling algorithms or switch the focused workspace into monocle mode (one window fills the work area). Retile forces a fresh re-application of the current layout, with every split you moved back at the configured ratio, or an equal share in a stack.

ShortcutActionCLI
Alt + NCycle layout (BSP -> VerticalStack -> ThreeColumn -> …)mosaico action cycle-layout
Alt + TToggle monocle modemosaico action toggle-monocle
Alt + Shift + RRetilemosaico action retile

On the status bar, click the layout widget to cycle the layout of that monitor, or right-click it to toggle monocle there.

Per-workspace layout overrides are configured under [workspaces.layouts] in config.toml. See Tiling & Layouts.

Window

ShortcutActionCLI
Alt + QClose focused windowmosaico action close-focused
Alt + MMinimize focused window–

Mouse

Drag a tiled window by its title bar; a preview shows where it will land. Set drag_to_swap = false under [mouse] in config.toml to turn this off. See Dragging Windows.

Drop itResult
On another tileThe two swap places
On another monitorIt joins there, with its new slot under the pointer
On its own slot, in a gap, or with Esc pressedIt goes back to its slot

Drag the edge between two tiles to resize them, or a corner where two splits meet to move both; Alt + Shift + R puts the splits back. Set resize_splits = false under [mouse] in config.toml to turn this off. See Resizing Tiles.

Daemon

Pause every Mosaico hotkey (including the pause hotkey itself stays active so you can resume) when running a full-screen application that needs to claim its own keybindings. The status bar shows a red PAUSED pill while paused; click it to resume.

ShortcutActionCLI
Alt + Shift + PToggle pause / resumemosaico pause / mosaico unpause
–Start the daemonmosaico start
–Stop the daemonmosaico stop
–Check statusmosaico status
–Reload config (automatic)edit config.toml, save
–Diagnose setupmosaico doctor

Modifier Keys

KeywordKey
altAlt
shiftShift
ctrlControl
winWindows / Super

Combine in keybindings.toml with modifiers = ["alt", "shift"].

Recognised Key Names

TypeExamples
LettersA .. Z (case-insensitive)
Digits0 .. 9
FunctionF1 .. F24
NamedEnter, Escape, Tab, Space, Backspace, Delete, Insert, Home, End, PageUp, PageDown, Up, Down, Left, Right

Set them in ~/.config/mosaico/keybindings.toml like this:

[[keybinding]]
action = "focus-left"
key = "H"
modifiers = ["alt"]

[[keybinding]]
action = "send-to-workspace-3"
key = "3"
modifiers = ["alt", "shift"]

Themes at a Glance

[theme]
name = "catppuccin"   # catppuccin, rose-pine, tokyo-night
flavor = "mocha"      # depends on family (see below)
FamilyFlavors
catppuccinmocha, macchiato, frappe, latte
rose-pinemain, moon, dawn
tokyo-nightnight, storm, day

See Theming for palette colors per family.

Border Colors at a Glance

[borders]
width = 4              # 0 disables every border
corner_style = "small" # square / small / round

[borders.colors]
focused = ""           # empty = theme default
monocle = ""           # empty = theme default
unfocused = ""         # empty = theme default; "none" disables unfocused borders

See Focus Borders for the full lifecycle.

See Also