How to save window positions on Mac when the built-in options stop short — capture apps, Spaces, monitors and browser tabs, then recall with one click.
macOS has no built-in way to save and restore exact window positions across sleep, a restart, or when a monitor disconnects and reconnects. What it does offer is partial: leave Reopen windows when logging back in ticked at restart, turn off Close windows when quitting an application in Desktop & Dock, and assign apps to a desktop from the Dock — each app restores its own windows, not a whole desk. To save a full layout and put it back with one shortcut, use a workspace app: SnapStatecaptures every window's position and size on every Space, the apps to relaunch, the display layout, and all open browser tabs, then restores from the menu bar, Control-Command-1 to 6, or automatically on wake or monitor connect.
For everything macOS can and cannot do without third-party software, see save window positions on Mac without an app. For per-display tools, see Stay alternative for Mac and Moom vs SnapState.
Short version: arrange the desk, capture a named SnapState workspace from the menu bar, restore it with a click, a Control-Command shortcut, or an automatic wake or display trigger.
See it fix this in one click
How it works is below.
How do you save window positions with SnapState?
- Arrange the windows for one context. Put the editor, browser, terminal, notes, or call windows for a single task where you want them, on one desktop or several.
- Capture the layout from the menu bar and name it. Open the SnapState menu bar app, capture the current setup, and give the workspace a name such as Coding, Writing, Calls, or Research.
- Restore it from the menu bar. Choose the named workspace from the menu bar whenever you want that arrangement back, on the same or a different display setup.
- Restore it with a keyboard shortcut. Press the workspace global shortcut, Control-Command-1 to 6, to recall the layout without reaching for the mouse.
- Let it restore automatically when you want. Optionally arm the workspace to restore when a monitor connects or disconnects, when a matching display layout appears, or on wake from sleep.
If an app comes back smaller, shifted, or not where you left it, see Mac apps reopen in the wrong position. If Chrome or Safari opens a blank window after a restart, see restore a Chrome or Safari tab after restart.
What can macOS do by itself?
macOS can help apps remember their own windows after a quit or restart, but it cannot store several named layouts or react when a display drops during sleep. Useful built-in steps:
- At restart or logout, keep Reopen windows when logging back in enabled.
- In System Settings > Desktop & Dock, turn off Close windows when quitting an application so supporting apps reopen their documents.
- Right-click an app in the Dock, choose Options, and assign it to a desktop on a specific display.
- In System Settings > Displays, keep the arrangement and main display consistent.
None of these puts every window back after sleep or a monitor reconnect. The full native-only walkthrough is on save window positions without an app.
What does SnapState save, and what does it skip?
Each workspace is a snapshot of your windows across Spaces, with clear boundaries on what is included.
| Item | Saved | Notes |
|---|
| Window position and size | Yes | Windows on every Space, each restored when you switch to it |
|---|
| Apps needed to relaunch the workspace | Yes | Missing apps are relaunched on restore |
|---|
| Monitor and display layout | Yes | Frames remap when the setup differs |
|---|
| All open browser tabs per window | Yes | Safari, Chrome, Edge, Brave, Arc, Chromium; needs Automation permission |
|---|
| Full tab sets per window | No | Yes, all open tabs |
|---|
| macOS Spaces | Yes | Each Space restored when you switch to it |
|---|
| Firefox windows | No | Firefox is not supported |
|---|
| Tiling or snapping behavior | No | SnapState recalls snapshots; it is not a tiling manager |
|---|
Should you save one workspace per context?
Named workspaces work best when each one matches a single context. Keep separate coding, writing, calls, and research workspaces so restoring one always means the same thing. Name them for the task, arm the display and wake triggers only where they help, and keep the rest on menu bar or Control-Command-1 to 6 recall so layouts never change under you unexpectedly.
What are the practical details?
SnapState is a native macOS menu bar app, version 2.7.14, requiring macOS 15.7 or later on Apple Silicon and Intel Macs. It costs $9.99 once through Lemon Squeezy — no subscription, no account — with a lifetime license for up to three Macs, free updates via Sparkle, and a 14-day refund. Download the DMG, enter the license key from your receipt to reinstall on a new Mac. It needs Accessibility permission to read and move windows, and workspace data stays local on your Mac as JSON in ~/Library/Application Support/SnapState/.
What else should you know?
How do I save a window layout on Mac?
macOS has no built-in save layout feature. With SnapState: arrange windows on every Space and monitor, open the menu bar app, capture the setup, name the workspace, then restore it from the menu bar, with Control-Command-1 to 6, or on an automatic wake or display trigger.
How do I save window positions on Mac?
You can try quitting each app from the position you want, or use Stay for per-display memory, but neither saves a full named layout across Spaces and monitors. SnapState captures every window position and size, relaunches apps, and reopens browser tabs in one workspace.
Can macOS save a window layout by itself?
macOS does not include a feature to save and recall named window layouts. You can arrange windows by hand, but there is no built-in way to capture several named arrangements and call each one back later.
What does SnapState save in a workspace?
Each named workspace saves windows on every Space with position and size, the apps needed to relaunch them, the monitor and display layout, and all open tabs of each window in Safari, Chrome, Edge, Brave, Arc, and Chromium after Automation permission is granted.
What does SnapState not save?
SnapState restores layouts across multiple Spaces (apps go back to the Space they were saved on, full-screen windows return to full screen, and windows on other Spaces are placed when you switch to them). It restores tabs only from supported browsers, and Firefox is not supported. It is not a tiling or snapping window manager.
How do I restore a saved layout?
Restore from the SnapState menu bar, with global Control-Command-1 to 6 shortcuts, or automatically when a monitor connects or disconnects, when a matching display layout appears, or on wake from sleep. Saved window frames are remapped onto the current displays when the setup differs.
How many workspaces should I keep?
One workspace per context tends to work best: coding, writing, calls, and research, for example. Name each one for the task so the right layout is one click or one shortcut away.