Keybindings
tarmac is keyboard-driven. All window management operations are triggered by global hotkeys registered through gar.bind() in your config, or by the built-in defaults.
How keybindings work
tarmac registers global hotkeys using the macOS Carbon API (RegisterEventHotKey). These work regardless of which application is focused — they're system-wide.
When a hotkey fires, tarmac maps it to an internal action (focus, swap, resize, etc.) and executes it on the main thread.
Modifier keys
tarmac uses the mod shorthand in keybind strings, which maps to whatever mod_key is set to in your config:
gar.set("mod_key", "command") -- mod = Cmd
gar.set("mod_key", "option") -- mod = Option/Alt
gar.set("mod_key", "control") -- mod = Control
You can also combine explicit modifiers:
gar.bind("mod+shift+h", "swap left") -- mod + Shift + H
gar.bind("mod+ctrl+h", "resize left") -- mod + Control + H
gar.bind("ctrl+alt+l", "focus right") -- explicit modifiers
Sections
- Default Binds — the built-in keybindings used when no config defines any
- Custom Binds — how to define your own keybindings