My mental model of window sets:
— A window always belongs to one set, with two exceptions: 1) global ephemeral windows like “About This Mac” (they appear in all sets on current desktop) and 2) windows assigned to all desktops via Dock (they appear in all sets and on all desktops).
— You are always “in” a set, even if it’s a 1-set with only this window alone, and you don’t see any windows not in the current set (other than the exceptions above). You can only glimpse other windows via Recent applications, Mission Control, and so on.
Managing window sets:
— Creating a window always drops you into a fresh set with that window alone. While jarring at first, it’s key to me—with a new window I start doing something different and don’t need the distracting baggage of whatever was on screen before that. Can always add windows later (see below).
— Any way that focuses a window now also drops you into its entire window set. This includes: Mission Control (which like before operates individual windows, not sets), ⌘+tab, clicking on app’s Dock icon, window switch from within the app, and so on.
— If you switch to another window set while dragging a window, that window becomes part of the set when you release the drag.
— To remove a window from a multi-window set (creating a new set with only that window alone), long-press the maximize window button and click “Remove Window from Set”.
Recent apps:
— “Recent applications” shows two kinds of things: 1) multi-window sets you created (last focused window on top), and 2) solo window sets grouped by application.
— Recent applications list is scoped to windows on current desktop and excludes the window set you are currently working in.
— You can interact with Recent apps in three ways: 1) click on a set to switch to it, focusing topmost window; 2) click on any app’s icon to show up to 18 recently used window sets with any of that app’s windows; 3) drag the topmost window from any visible set into current set.
— I set it to auto-hide, I only need it when I need to add another window to the current set.
By the way, ⌘+` now works in two ways: 1) if you are in a set of multiple windows, it will switch between windows in the set (regardless of the app); 2) if you are viewing a solo window, it switches between other solo windows of the app (close to old behavior).
This all might sound complex but a couple hours in it works quite intuitively, I find.
I was actually surprised to find that it works really well for me in the end (contrary to my experience on iPad, where I don’t like using SM). I thought it could reasonably “just work” for casual users on intuitive basis, but most advanced users wouldn’t like it—not having a good concept of how things work is a big barrier, and there is absolutely no documentation or good way of discovering this—so I decided to share my understanding lest Apple kills this feature due to lack of demand.
To add to my description one thing that I noticed just now: there’s a distinction in behavior between “heterogenous” window sets and single-app window sets. For example, if your window set is heterogenous—contains windows of multiple apps—then command-` indeed switches only between windows in the same multi-window set (so you won’t leave that set). On the other hand, if current multi-window set consists only of windows from a single app (e.g., multiple Terminal windows), then command-` will switch between 1) windows in current window set, as well as 2) this app’s windows in other homogenous sets (and standalone windows). I’m not a fan of this particular behavior, because every time it kind of breaks my expectations when I leave a multi-window set due to command-`, but maybe it’s because I got used to thinking that command-` only works within a set too quickly.
Add: and there is an outright bug in that if you use command-` while in some non-English keyboard layouts, it starts command-`’ing infinitely. Guessing Apple might be aware but too lazy to figure out their ticket tracker…