I don't need to just see those other windows and their contents, I want to interact with them as well, which SM doesn't seem to do.
For the remaining 10%, SM makes it easy to combine windows into a set (this is so far the only instance where I use the new “recent applications” widget, I set it to auto-hide so it never distracts me otherwise). Then with cmd+` you can switch between windows in the same set (even if they are of different apps). You can also tile windows in your set with something like Rectangle, etc.—just make sure not to over-craft sets, they are ephemeral after all.
The ephemeral nature of window sets used to bother me initially—I wanted to persist them across restarts—but after I realized I really focus on one window 90% of the time, and creating ad-hoc window sets is very quick, I no longer find it an issue.
I would argue that the idea that windows are ephemeral doesn't work for all windows in all situations - I'm almost always going to want a window with BBEdit, another with Terminal cd'd to the current project (whatever I might be doing, and there likely will be a fair number of these, more than 1 at least), plus a web browser with email/documentation.
Admittedly, some of my complaints come from having my current setup with a DisplayPort hub and 2 HP displays, yet not having the horsepower to drive them each as independent screens. It's a holdover from a previous setup when there actually was a Windows machine in the mix.
Apple seems to begrudingly acknowledge that people might actually have more than one display in their setup, so features like this sometimes feel incomplete.
See also - the "bug" in prior versions of Spaces which didn't account for multiple monitors correctly. A simple oversight that shows they think about this kind of use last, if at all.
I thought so, too. However, turns out I work better when I see either an editor window, a terminal window, or a web browser, but not all at the same time. Meaning even if I had them all on screen, every moment in time I really focus only on one, and I do it for minutes at a time—all others meanwhile are visual junk. So SM does just that: focus one window at a time by default, and because command-tab is so readily available switching between full focus on one window to full focus on another window is very fast.
In my case, I could create a multi-window set where I have all of those windows very large and exactly same size (e.g., with Rectangle’s “almost full-screen” feature), and then I would get a bonus way of switching just between those windows (through command-`). I might try it some time.
There are few cases so far where I create multi-window sets arranged so that I see windows simultaneously, for example: 1) when I need to drag things between them repeatedly, such as when organizing files (e.g., moving photography between my SD card, SSD and HDD), or 2) when I’m observing multiple long-running processes in terminal but didn’t bother to run Tmux in the beginning so now I am stuck multiple Terminal windows and I want to see progress in them all. Turns out such cases are pretty rare.
That said, I don’t use multiple displays, I work on laptop and that probably informs my use case.
I’m not sure what you mean about switching between sets. On macOS, any action that focuses any window (like command-tab) switches you to its window set. Do you mean on iPad you can assign individual shortcuts or use numbers to switch between window sets?
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…