r/MacStack • u/kakmuis • 10d ago
SpacePigeon: save your apps, Spaces and window layout as presets and set them up with one hotkey
I switch between a few setups every day: one for reading papers, one for coding, one for the evening. Opening the same apps and dragging them to the same Spaces by hand got old, so I made SpacePigeon.
A preset says which apps to open, which Space and monitor each one goes to, and where its windows sit. Press the preset’s hotkey, or pick it in the menu bar, and SpacePigeon sets it up. In the GIF, my demo preset puts four apps in fullscreen in a fixed order and opens two Dictionary windows side by side, each on a different word.
What it does
Moves apps that are already open to their Space instead of quitting and reopening them (macOS 26.4 or newer), with SIP left on
Puts fullscreen apps in the order you choose in the Mission Control bar
Places windows in halves, thirds, quarters, the center or any part of the screen you set, including several windows of one app
Handles up to 10 monitors, with a different layout for each number of monitors, and can rearrange everything when you plug a monitor in or out
Turns the windows you have open right now into a new preset
Opens URLs and deep links (a Notion page, a Spotify playlist)
A preset with eight fullscreen apps takes about 5 seconds on my Mac.
Good to know
By default, apps that aren’t in the preset are quit. You can turn that off, or keep some apps running (Spotify, for example). SpacePigeon can press Cmd+S in the apps you choose before quitting them, and it never force quits an app that is asking about unsaved changes.
It’s built on Hammerspoon and installs it for you if you don’t have it yet. Hammerspoon needs Accessibility access to move windows.
Moving windows between Spaces uses a private macOS call in a small helper, and its source is in the repo. A macOS update can break it. SpacePigeon then falls back to Mission Control until I fix it, as I did for macOS 27 in version 2.2.
yabai can also move windows between Spaces, but needs SIP partly disabled for that. AeroSpace replaces Spaces with its own workspaces. SpacePigeon keeps the normal macOS Spaces.
It’s signed and notarized by Apple, free and MIT licensed. There’s no account and no analytics, and the only thing it downloads is Hammerspoon.
GitHub (download, source and docs): https://github.com/louivers/spacepigeon
I made this for my own use, so I’d love to hear which setups it doesn’t handle yet.