Start where you are.
Browser, notes, editor. The usual overlap. Snappy stays out of sight in your menu bar until you call it.
Window manager for macOS
One shortcut opens a grid. One key puts a window, or a whole workspace, exactly where it belongs.
01 The idea
⌃⌥SpacethenHLeft half
02 How it works
Browser, notes, editor. The usual overlap. Snappy stays out of sight in your menu bar until you call it.
Press your shortcut. A grid appears over the active display, ready for a placement key, a layout key, or a drag.
Press the key you bound to a layout. One key can give several app windows their own regions at once.
The windows land in their places and the grid disappears. For a single window, use a placement key or draw a region on the grid.
03 Features
A half, a sliver, or any shape the grid allows. Assign a key and put a window there instantly.
Bind one key to several app windows. Your familiar arrangement returns in a moment.
Prefer the mouse? Drag a window to an edge or corner and see exactly where it will land.
04 Getting started
No account and no setup maze. Download it, grant the permission macOS asks for, and give your windows a place to go.
05 First launch & support
macOS can word its first-run prompts strongly. Here is why they appear and what Snappy actually uses.
[email protected]Every app downloaded outside the App Store gets this prompt once. Snappy is signed and notarized by Apple. The dialog's “Apple checked it for malicious software” line is the notarization result; “Move to Trash” is a standard button, not a recommendation.
This is required. It lets Snappy read a window's position and size and move or resize it using the macOS Accessibility API. It does not grant access to your screen contents or files. Without this permission, the grid can appear, but windows cannot move.
Go to System Settings → Privacy & Security → Accessibility and enable Snappy. If windows stop moving after an update, remove Snappy from that list and add it again.
This prompt appears if you use the placement grid's bound keys. Snappy listens for the single key you press while the grid is open so it can act on that key instead of typing it into the app behind the panel. It does not record keystrokes or send them anywhere. You can turn off bound keys and drag on the grid instead.
This only happens if you choose to launch Snappy at login. You can remove it at any time in System Settings → General → Login Items.
This usually means a tool unpacked the download and stripped its signature metadata. Delete that copy and download the disk image again.
That key may not be bound yet. Open Settings → Placement and assign it, or press Escape to close the grid. If keyboard input is unresponsive after a system event, locking and unlocking your Mac can clear macOS Secure Input.
06 Privacy
No analytics, crash reporting, accounts, or personal data collection. Your workspace stays yours.
Snappy checks getsnappy.fyi for signed software updates and downloads updates from GitHub when one is available. It does not otherwise transmit personal information.
To place a window, Snappy reads the position and size of the frontmost window and your display dimensions through the macOS Accessibility API, then writes a new frame. This happens locally, in the moment, and is never stored or sent anywhere.
If you create a multi-window layout, the bundle identifiers of the apps you select are saved locally so Snappy can find those windows again. Grid size, margins, key bindings, and layouts are stored in your user Library and app preferences. You can export them to a JSON file yourself; Snappy never uploads them.
Accessibility is required solely to move and resize windows on your Mac. Launch at login is optional and off by default. If you use bound placement keys, macOS may ask for keyboard input access while the grid is open.
Snappy is a utility with no user content or data collection. It is rated 4+, is not directed at children specifically, and collects nothing from anyone. If this policy changes, the updated version will be posted here. Questions can be sent to [email protected].