Window tiling and fullscreen
We never really designed the current window tiling behaviour and the UX is somewhat incomplete. The principle issues are that, if you tile two windows, you can't switch to them as a pair, and they don't appear together.
This can get quite frustrating - it's quite hard to return to window pair that you tiled. With a pointer, you have to focus each of the windows in the pair in sequence to get them visible. With alt+tab it can be even harder - you have to select each window in turn, but you often end up raising other instances of the app that you don't want visible.
I think the main issue here is semantic - it feels odd to have something that is a standalone, immersive experience mixed in with everything else.
1. A collection of adjustments
- Window-based alt+tab, and present split windows as a single item
- Show split windows together in the overview
- When one split window is raised, raised the other one
This would address the tiled window issues but not the (arguably less significant) fullscreen ones.
2. Force full screen and tiled windows into their own workspaces
- Force full screen and tiled windows to each occupy their own dedicated workspace
If we did this, it would make sense to make tiled workspaces like fullscreen ones and to hide the top bar.
In some respects this approach is more constraining than option 1. At the same time, it might be easier to implement and there could be additional benefits, such as using shortcuts and gestures to switch between fullscreen windows and other workspaces - that's quite nice.
Fullscreen and split screen windows occupy their own workspaces.
- Become their own workspace when full-screened
- Instead of a remove button on the workspace, you get an "unfullscreen" button. Using this removes the workspace, unfullscreens the window, and moves it to the current workspace
- Full-screened windows have their window controls hidden
- To enable split view:
- Hold down the "full screen" window control button (the green one), the window shrinks a bit (not quite a thumbnail, but getting there)
- Drag the window to one side; all other windows are shown as an expose in the other screen half
- Select a window from the other side, and you have split view
- It's a version of fullscreen - the panel isn't visible and split view windows don't have window controls
- There's a black bar between the two windows, with a drag handle. You can use it to resize them.
Much more like what we have at the moment - fullscreen and tiled windows are mixed in with other windows on the current workspace, and can have other windows visible over the top.
- Drag a window to the side, the other side does expose to allow a second window to be selected (Windows calls this "snap assist")
- Selecting a second window adds it to the other side
- Other floating windows can appear on top of the split windows
- Tiled windows appear individually in alt+tab
- You can quarter-tile by dragging to a screen corner, if there's a screen half or quadrant remaining, snap assist is shown there (it isn't shown if there's just a single quarter-tiled window, for some reason)