Documentation Index
Fetch the complete documentation index at: https://docs.anonymous.dev/llms.txt
Use this file to discover all available pages before exploring further.
AeroSpace is a tiling window manager for macOS.
Rig configures it with a 9x9 workspace grid — 9 workspace rows, each with 9 desktops.
Workspace Model
Workspaces are named W.D where W is the row (1-9) and D is the desktop (1-9), giving
81 total workspaces (e.g. 1.1, 3.5, 7.2).
- Starts on workspace
1.1 after login.
- Each workspace row remembers its last active desktop.
- No gaps between windows (inner/outer = 0).
Keybindings
Window Navigation
| Shortcut | Action |
|---|
Alt + h/j/k/l | Focus left / down / up / right |
Alt + Shift + h/j/k/l | Move window left / down / up / right |
Workspace Navigation
| Shortcut | Action |
|---|
Cmd + Alt + 1-9 | Switch to workspace row 1-9 (remembers last desktop) |
Cmd + Alt + j/k | Next / previous workspace row |
Cmd + Alt + h/l | Switch desktop within workspace (wraps) |
Move Windows Between Workspaces
| Shortcut | Action |
|---|
Cmd + Alt + Shift + 1-9 | Send window to workspace row (stay in place) |
Cmd + Alt + Shift + j/k | Send window to next/prev workspace row |
Cmd + Alt + Shift + h/l | Send window to next/prev desktop (wraps) |
Layout & Resize
| Shortcut | Action |
|---|
Alt + / | Cycle tiles / horizontal / vertical |
Alt + , | Cycle accordion horizontal / vertical |
Alt + f | Toggle fullscreen |
Alt + Tab | Focus back-and-forth |
Alt + v | Join with right |
Alt + b | Join with down |
Alt + r | Enter resize mode (h/j/k/l to resize, Esc/Enter to exit) |
Workspace Management
| Shortcut | Action |
|---|
Alt + n | Create a new unused workspace |
Alt + p | Open workspace picker (SwiftUI app) |
Alt + i | Open notification picker (SwiftUI app) |
Alt + c | Open clipboard history (SwiftUI app) |
App Launchers
| Shortcut | Action |
|---|
Alt + Shift + t | Launch Kitty terminal |
Alt + Shift + s | Launch Safari |
Alt + Shift + f | Launch Finder |
Configuration Details
start-at-login = true
enable-normalization-flatten-containers = true
enable-normalization-opposite-orientation-for-nested-containers = true
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
[gaps]
inner.horizontal = 0
inner.vertical = 0
outer.left = 0
outer.right = 0
outer.top = 0
outer.bottom = 0
Swift Picker Apps
Rig includes three custom SwiftUI apps compiled during init.sh:
WorkspacePicker
A visual 9x9 grid overlay showing:
- Currently occupied desktops
- Windows and apps on each desktop
- Notification badges
- Preset workspace layouts (persisted as JSON)
- Desktop reorder mode — press
m to pick a source desktop, navigate with h/l,
then press Enter to reorder desktops within the same workspace row
Launch with Alt + p. Supports a --goto flag for direct workspace navigation.
NotificationPicker
Queries the macOS Notification Center SQLite database to list applications with
active notification badges. Supports a desktop-scoped view that filters notifications
to the current workspace and desktop. Click an entry to jump to the app’s workspace
and window.
Launch with Alt + i.
ClipboardHistory
A searchable clipboard history overlay powered by a background daemon (ClipboardDaemon).
The daemon polls the system clipboard every second and persists entries to
~/.clipboard-history.json (max 500 entries, 10k character cap per entry). Copies from
sensitive apps (1Password, Keychain Access, LastPass, Bitwarden, KeePassXC) are excluded.
The overlay shows recent clipboard entries with source app and relative timestamp:
j/k — navigate entries
/ — enter search mode (filters by content or app name)
Enter — copy selected entry to clipboard
Esc — close (or exit search)
Launch with Alt + c. The daemon is started via clipboard-daemon.sh (launched at login).
Compiling manually
cd ~/.config/aerospace/scripts
for src in *.swift; do
name=$(basename "$src" .swift)
bin=$(echo "$name" | sed 's/\([a-z]\)\([A-Z]\)/\1-\2/g' | tr '[:upper:]' '[:lower:]')-app
swiftc -O -o "$bin" "$src" -framework SwiftUI -framework AppKit
done
Helper Scripts
All scripts live in ~/.config/aerospace/scripts/:
| Script | Purpose |
|---|
switch-workspace.sh | Switch workspace row, remember last desktop |
move-to-workspace.sh | Move window to workspace row (stay in place) |
switch-desktop.sh | Navigate desktops within workspace (circular) |
move-to-desktop.sh | Move window between desktops (circular) |
new-workspace.sh | Find first unused workspace row |
workspace-picker.sh | Launch WorkspacePicker app |
notification-picker.sh | Launch NotificationPicker app |
minimap.sh | Launch WorkspacePicker in goto mode |
clipboard-daemon.sh | Start background clipboard polling daemon |
clipboard-history.sh | Launch ClipboardHistory overlay |