macOS has no way to save a window layout and bring it back later. It reopens an app's windows where they were when you quit it, but it doesn't remember an arrangement of several apps that you can recall with a key. For that you need a window manager with saved layouts, such as Moom, Rectangle Pro, Display Maid, or Toolnotch's Wyndow, where ⌘S in its panel saves where every window is and ⌘1 puts them all back.

Below: what macOS keeps by itself, the apps that do more, and how Wyndow's desks work.

What macOS remembers on its own

Each app's windows, when you reopen it. With "Close windows when quitting an application" turned off (System Settings › Desktop & Dock), apps that support it reopen their windows at the same place and size. That's per app, and only when the app reopens. It doesn't help when you've moved things around during the day.

Windows after a restart. "Reopen windows when logging back in", in the shutdown dialog, does the same for every app at once.

Which desktop an app opens on. Right-click an app in the Dock › Options › Assign To lets you pin an app to one Space (desktop) or to all of them. It says nothing about where on that desktop.

Tiling and Stage Manager. Since macOS 15 Sequoia you can tile windows into halves and quarters (Window › Move & Resize), and Stage Manager groups windows into sets. Neither saves positions you can call back. Our guide to snapping windows with the keyboard covers tiling in detail.

So if you arrange a browser, an editor and a terminal every morning, macOS makes you do it by hand each time.

Apps that save layouts

  • Moom (paid) saves window arrangements and can trigger one when the number of displays changes.
  • Rectangle Pro (paid) adds saved layouts to the free Rectangle, which only snaps.
  • Display Maid (paid) saves window positions per display configuration and restores them. It handles one Space at a time.
  • Keyboard Maestro and Hammerspoon can record window positions in a macro or a script. It works, but you update the macro every time your layout changes.

Check each one's current version before you buy: the details (several displays, Spaces, sleep) are where they differ.

The rest of this guide covers Wyndow, the window manager in Toolnotch, because that's the one I build and can describe exactly. In Wyndow, a saved layout is called a desk.

Save a desk

  1. Arrange your windows the way you like them. ⌃⌥← and the other snap keys help, but any position works.
  2. Press ⌃⌥Space to open the Wyndow panel under the notch. It opens on Desks.
  3. Press ⌘S, or click « Save current windows ».

Before saving, Wyndow lists every window it found, one column per display, with where each one sits: « ⅔ left », « ⅓ right », « maximized », « floating ». Windows on a zone are switched on, floating windows and small utility windows are off. Switch off any window the desk should leave alone.

The name field is already selected: it suggests the displays (« MacBook only », or « LG + MacBook » with a monitor). Type a better one, such as « Coding ». The desk takes the next free key from ⌘1 to ⌘5; you can pick another.

Two switches, both on by default:

  • Relaunch closed apps: if an app of the desk isn't running when you apply it, Wyndow opens it.
  • Come back when these displays connect: the desk applies by itself when you plug in the same displays, and when the Mac wakes.

Press ↩ to save. « Fine-tune… » opens the editor instead, where you can draw zones by hand and add actions.

⌘S saves the windows of every macOS Space (desktop), not just the one you're looking at. When you have windows on several Spaces, the list groups them by Space and marks the one showing.

Bring it back

Open the panel with ⌃⌥Space and press ⌘1 (or the desk's key). The panel folds and every window of the desk jumps to its place at once. An island under the notch says « Coding · 2 windows ». ⌃⌥⌫ undoes the whole desk in one step, and a click on the island does the same.

Other ways to apply a desk:

  • Type part of its name in the panel's search field and press ↩.
  • Drag any window up to the notch: the map that opens lists your desks under the display. Drop the window on a desk.
  • Use Apple's Shortcuts app: « Apply Desk » is one of Toolnotch's actions, so you can give it a global key or run it from an automation.
  • Plug in the displays the desk was saved with. The island then says « Desk “Coding” restored · 4 windows », or « already in place » when nothing had to move.

Spaces. Wyndow places the windows of the Space you're on right away. Windows that live on another Space are placed the moment you switch to it. Wyndow doesn't move windows from one Space to another: each window is arranged on the desktop where it already is.

Windows you didn't include stay put. In the video, the floating Terminal isn't part of « Coding », so applying the desk doesn't touch it.

Quit the other apps

A desk can also clear the room. Turn on « Quit the other apps » in its editor, and applying it offers to quit every app that isn't part of it, on every desktop. It always asks first, with a list you can untick. It never quits Finder, menu bar apps, music that's playing, or apps you marked to keep. ⌃⌥⌫ reopens what it quit.

When a desk applies by itself (on reconnect or wake), it never quits anything: the island asks « Quit 3 apps? » with a Review button.

Limits

  • Full-screen windows are never moved. If a desk includes an app in macOS full screen, the desk only opens the app.
  • Five keys. Desks get ⌘1 to ⌘5 in the panel; a desk without a key is applied from the list, the search or the map.
  • The keys work in the panel. ⌘1 isn't a global shortcut: open the panel first with ⌃⌥Space. For a single global key, use the Shortcuts app action.
  • Apps that refuse a size keep their minimum. Wyndow keeps them on screen and against their zone's edge.
  • Accessibility permission is needed, as for every Mac window manager.
  • Toolnotch is paid, a one-time purchase that includes every future tool. See pricing.

Desks are one half of what Wyndow does with layouts. The other half needs no setup: when you unplug a monitor, it keeps each window in its zone on the laptop and puts them back when you plug in again. See why Mac windows move when you unplug a monitor.

FAQ

Can a Mac save window positions without an app?

Only per app: an app that supports it reopens its windows where they were, if "Close windows when quitting an application" is off. There is no built-in way to save an arrangement of several apps and recall it.

Does a desk remember which display each window was on?

Yes. A desk saves each window's zone per display. With a monitor and a MacBook, each window goes back to its own screen, and the desk can come back by itself when you plug in the same displays.

What happens if I've moved a window since applying a desk?

⌃⌥⌫ undoes the desk but leaves alone any window you moved by hand since: your later choice wins.

Can I have different desks for different setups?

Yes. Save one desk on the MacBook alone and another with your monitor plugged in. Each is bound to its displays, so plugging in brings back the right one.