Text · 1591 bytes Raw Blame History
1 # tarmac documentation
2
3 tarmac is a keyboard-driven tiling window manager for macOS, written in Rust. It uses a binary space partition (BSP) layout engine to automatically arrange your windows, and exposes a Lua configuration API and IPC socket for full control.
4
5 ## What tarmac does
6
7 - Tiles windows automatically using BSP splits
8 - Provides 10 numbered workspaces per monitor plus named scratchpads
9 - Draws window borders via [ers](/docs/ers/overview), a companion border renderer
10 - Accepts commands over a Unix socket (IPC) via `tarmacctl`
11 - Configures entirely through a Lua file at `~/.config/tarmac/init.lua`
12 - Includes a [system tray](/docs/system-tray) with workspace switching and a [settings window](/docs/settings-window) for live configuration
13 - Supports window rules to auto-float or assign apps to specific workspaces
14 - Emits rich events for status bar integration (sketchybar, etc.)
15
16 ## What tarmac does not do
17
18 - Run on Linux or Windows it uses macOS-specific APIs (SkyLight, Accessibility, CoreGraphics)
19 - Provide a built-in status bar use an external bar like sketchybar and set `bar_height`
20 - Offer multiple layout algorithms it's BSP-only (no master-stack, columns, or spiral)
21 - Include animations or smooth transitions
22
23 ## Where to start
24
25 If you're new to tarmac, start with [Getting Started](/docs/getting-started) to install and run it for the first time.
26
27 If you're already running tarmac and want to configure it, jump to [Configuration](/docs/configuration).
28
29 For scripting and automation, see [IPC](/docs/ipc) and [Events & Hooks](/docs/events-hooks).
30