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

Keybindings

Press Super + / inside dwm to open a live, searchable Quickshell keybind viewer.

MODKEY = Super (Windows key) in the shipped config.h.

Bindings are defined in config/hotkeys.toml and reload instantly on save — no recompile needed.


Launchers

KeysAction
Super + RApp launcher (Quickshell)
Super + XTerminal workspace (Herdr when available)
Super + EFile manager
Super + BBrowser
Super + /Keybind viewer
Super + F1Control Center
Super + Shift + RRestart Quickshell

Screenshots

KeysAction
Super + PScreenshot active monitor (cursor omitted)
Super + Shift + PScreenshot selection → file
Super + Ctrl + PScreenshot selection → clipboard

All dwm-screenshot capture modes omit the mouse cursor. maim region captures start selection immediately without a monitor chooser. The active-monitor shortcut uses the monitor under the pointer. Clipboard captures are PNG selections owned by xclip, while captures saved to disk use JPEG. The lightweight capture flow intentionally has no annotation toolbar.

Web Apps

KeysAction
Super + AChatGPT
Super + Shift + AGemini
Super + Shift + XX/Twitter — new post

Window Management

KeysAction
Super + JFocus next window
Super + KFocus previous window
Super + Shift + JMove window down in stack
Super + Shift + KMove window up in stack
Super + ReturnPromote window to master
Super + QClose window
Super + IAdd window to master area
Super + DRemove window from master area
Super + HShrink master area
Super + LExpand master area
Super + Shift + HIncrease window cfact size
Super + Shift + LDecrease window cfact size
Super + Shift + OReset window cfact

Layouts

KeysAction
Super + TTiling layout
Super + MFullscreen (monocle)
Super + SpaceToggle floating for window
Super + Shift + MToggle floating for window
Super + Shift + YFake fullscreen (bar stays)
Super + Shift + BToggle bar visibility

Tags (Workspaces)

KeysAction
Super + 19Switch to tag
Super + Ctrl + 19Also show tag alongside current
Super + Shift + 19Move window to tag
Super + Ctrl + Shift + 19Also show window on that tag
Super + 0Show windows from all nine tags; 0 is not a tag
Super + TabPrevious tag

Multi-Monitor

KeysAction
Super + ,Focus left monitor
Super + .Focus right monitor
Super + Shift + ,Send window to left monitor
Super + Shift + .Send window to right monitor

Media Keys

KeysAction
XF86AudioRaiseVolumeVolume up
XF86AudioLowerVolumeVolume down
XF86AudioMuteMute toggle
XF86MonBrightnessUpBrightness up
XF86MonBrightnessDownBrightness down

Session & Power

KeysAction
Super + Ctrl + QPower menu
Super + Shift + QQuit dwm and cleanly end the graphical session
Super + Ctrl + Shift + RReboot
Super + Ctrl + Shift + SSuspend

Mouse

ActionFunction
Super + Left dragMove window
Super + Middle clickToggle floating
Super + Right dragResize window

Customizing Keybinds

Edit config/hotkeys.toml — changes take effect on save, no recompile required.

[vars]
terminal = "dwm-terminal"

keys = [
  { mod="SUPER SHIFT", key="f", desc="Firefox", func="spawn", exec=["firefox"] },
]

See the comments in hotkeys.toml for a full list of func values and modifier syntax.

The browser binding uses dwm-default-apps open. Configure it with dwm-default-apps browsers and dwm-default-apps set-browser <desktop-id>.

The default dwm-terminal wrapper opens Herdr inside Alacritty when Herdr is installed. Set DWM_HERDR=0 to keep the same binding as a plain terminal.

Last change: