Field notes

AeroSpace and SketchyBar

Window management and a custom menu bar for a four-monitor setup. Every AeroSpace binding uses Alt as its modifier.

Everyday

Focus windows4

Focus window left
Focus window down
Focus window up
Focus window right

Move windows4

Move window left
Move window down
Move window up
Move window right

Workspaces12

Switch to workspace 1 (Dell)
Switch to workspace 2 (LG)
Switch to workspace 3 (Samsung)
Switch to workspace 4 (MacBook)
Move window to workspace 1
Move window to workspace 2
Move window to workspace 3
Move window to workspace 4
Next workspace
Previous workspace
Toggle last workspace
Move workspace to next monitor

Monitors8

Focus monitor left
Focus monitor right
Focus monitor down
Focus monitor up
Move window to monitor left
Move window to monitor right
Move window to monitor down
Move window to monitor up

Layout3

Cycle: tiles → h_accordion → v_accordion
Cycle: h_accordion → v_accordion → tiles
Toggle fullscreen

Resize2

Resize: shrink (smart -50)
Resize: grow (smart +50)

Service mode9

Enter service mode
Reload config & exit service mode
Flatten workspace tree & exit
Toggle floating / tiling & exit
Close all windows except current & exit
Join with window left & exit
Join with window down & exit
Join with window up & exit
Join with window right & exit

Workflows

Recipes13

Stack focused window with the one to its right (join-with)
Stack focused window with the one to its left (join-with)
Stack focused window with the one below (join-with)
Stack focused window with the one above (join-with)
After joining, switch container to accordion (tabbed stack)
Fix broken layout: flatten workspace tree back to single level
Pop window out to floating (or back to tiling)
Send window to LG monitor and follow it there
Focus monitor right, then pull a window from the left into it
Bounce between two workspaces (toggle last)
Rotate current workspace to the next monitor
Move this window to the right of the one above it
Close all clutter, keep only the focused window

Configure

SketchyBar commands6

Reload config and all plugins
Inspect item state as JSON
Live-tweak any property
Manually fire a custom event
Change bar properties live
Change default item properties

Reference

Bar, left side5

Click → System Settings
Click → switch workspace; highlights active
Visual divider
Shows currently focused application
Dynamic app menus (up to 10)

Bar, right side11

Bold local time with timezone (30s poll)
Dimmed CT · MT · PT · UTC (30s poll)
Icon + % (120s poll + wake event)
Icon + status (30s poll + wifi_change)
Green/red health indicator (120s poll)
Icon + % (volume_change event)
Active gh account (startup only)
Current context, red if prod (startup only)
Shown only if running (120s poll)
Shown only if running (120s poll)
Shown only if running (120s poll)

Bar click actions8

Opens System Settings
Switches to that AeroSpace workspace
Opens native macOS menu dropdown
Toggles jamesainslie / jamesainslie_geico
Opens native context picker dialog
Opens / focuses Zoom
Opens / focuses Cursor
Opens / focuses Zscaler

Troubleshoot

Debugging8

Show monitors and their IDs
List all workspaces
List all managed windows
Reload AeroSpace config
Debug window assignment issues
Inspect bar properties
Test front_app manually
Test workspace highlight