Apple did something clever with how stacked windows in the strip are cycled. When clicking on a stack of windows in the strip, Stage Manager prioritizes keeping the outgoing window on top of the stack.
Assuming you have window A on the stage, and windows B, C, D are in the stack in that order. Now say you want to switch to window C.
If Stage Manager merely cycled the stack in order…
- The first click would shuffle window A to the bottom and bring window B to the stage. The stack order at this point with B on stage would be C, D, and A.
- The second and final click would put window B on the bottom behind A and move window C to the stage. The final stack order with C on stage would be D, A, and B.
The problem with merely cycling in order is that window A is almost always buried at the bottom or in the middle of the stack despite being the one most recently used.
What happens in macOS 13 beta 41…
- The first click moves A to the top of the stack and brings window B to the stage. The stack order at this point with B on stage is A, C, and D,
-
The second and final click leaves A at the top of the stack, moves B behind it and brings C to the stage. The final stack order with window C on stage is A, B, D.
The beauty of this is how the most recently active window, A in this case, remains on top of the stack. Being on top makes window A the easiest to bring forward, which makes sense because users are more likely to go back to the window they’ve most recently used.
Command+`cycling has also been updated, but curiously not in the same way. In Beta 3, command+` cycling seemed nonsensical to me. Beta 4 command+` now cycles through windows in the order of their stack, albeit backwards from how I expected. I expected command+` would put the current window on the bottom of the stack and replace it with the one on top. In beta 4, it puts the current window on top of the stack and replaces it with the one on the bottom. That said, I am now convinced that merely cycling through stacked windows in order is not sufficient, and that the commmand+` cycling behavior should mirror the one that happens when a stack is clicked2.
The cycling behavior when clicking a stack is exactly the kind of consideration and detail I expect from Apple. It’s great to see it in the betas.