Skip to main content

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

ShortcutAction
Alt + h/j/k/lFocus left / down / up / right
Alt + Shift + h/j/k/lMove window left / down / up / right

Workspace Navigation

ShortcutAction
Cmd + Alt + 1-9Switch to workspace row 1-9 (remembers last desktop)
Cmd + Alt + j/kNext / previous workspace row
Cmd + Alt + h/lSwitch desktop within workspace (wraps)

Move Windows Between Workspaces

ShortcutAction
Cmd + Alt + Shift + 1-9Send window to workspace row (stay in place)
Cmd + Alt + Shift + j/kSend window to next/prev workspace row
Cmd + Alt + Shift + h/lSend window to next/prev desktop (wraps)

Layout & Resize

ShortcutAction
Alt + /Cycle tiles / horizontal / vertical
Alt + ,Cycle accordion horizontal / vertical
Alt + fToggle fullscreen
Alt + TabFocus back-and-forth
Alt + vJoin with right
Alt + bJoin with down
Alt + rEnter resize mode (h/j/k/l to resize, Esc/Enter to exit)

Workspace Management

ShortcutAction
Alt + nCreate a new unused workspace
Alt + pOpen workspace picker (SwiftUI app)
Alt + iOpen notification picker (SwiftUI app)
Alt + cOpen clipboard history (SwiftUI app)

App Launchers

ShortcutAction
Alt + Shift + tLaunch Kitty terminal
Alt + Shift + sLaunch Safari
Alt + Shift + fLaunch 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/:
ScriptPurpose
switch-workspace.shSwitch workspace row, remember last desktop
move-to-workspace.shMove window to workspace row (stay in place)
switch-desktop.shNavigate desktops within workspace (circular)
move-to-desktop.shMove window between desktops (circular)
new-workspace.shFind first unused workspace row
workspace-picker.shLaunch WorkspacePicker app
notification-picker.shLaunch NotificationPicker app
minimap.shLaunch WorkspacePicker in goto mode
clipboard-daemon.shStart background clipboard polling daemon
clipboard-history.shLaunch ClipboardHistory overlay