-
Notifications
You must be signed in to change notification settings - Fork 135
Description
While using auto-tiling one should be able to move windows around both with the keyboard and with the mouse. New designs below show a few adjustments to how one can drag a window with the mouse to tile compared to the current Pop!_OS. There are a couple goals behind those adjustments:
- One of the goals we were pursuing with the new designs is to allow people more flexibility in what kinds of layouts they can quickly create. It has been mentioned in the past that forming a three-column layout, for example, is difficult with the current auto-tiling. So were trying to make it easier to form layouts like that.
- Another goal we had was making it easier for people to recognize the outcome of an action. We have learned about the confusion people experienced when trying to either tile or stack a window. It wasn't always clear what effect the action will have despite the overlay indicating a future tile. Sometimes one would try to stack a window but the window would tile next to it instead.
Designs
The mockup below shows the window being dragged around. This is a prototype made in the design program so the content inside the windows on these mockups is merely a placeholder. But it shows what should happen when one hovers over various areas of one of the tiled windows, between windows and between window group borders. It also shows that windows should zoom out a little and that indicators around window groups should appear.

When the window is grabbed and taken out of its current place
- The wallpaper gets a black overlay of 90% opacity, similar to designs for moving a tiled window with the keyboard.
- The tile where it has been is shown as an overlay (#565656 at 60% opacity in the mockups).
- All the windows zoom out with the same spacing between each window, each window group, and padding inside each window group (32px on the mockups that assume 1920 x 1080 display). This spacing is larger for tiling a window with the mouse to increase the width of the target zones between windows. Ideally, the spacing might need to depend on the display so we'll probably need to figure out the heuristic for this. There might also be more refinements to the sizes as we do more usability testing.
- Window groups hat have more than one window are shown with the borders around them. Group indicators should make it easier for people to target tiling inside the group or between groups.
Types of indicators
There are three different types of indicators for the intended window placement:
- Overlay that shows resulting window placement when splitting the existing tile occupied by another window.

- Future window stack indicator that includes an overlay above the tile occupied by another window with active hint around it and a tooltip that appears under the cursor.

- Pill-shaped indicators to show resulting window placement between windows and between groups. Those indicators should be 2x less width than the spacing between windows (16px on the mockups).

Target Zones
- Use the cursor placement to trigger the target zones around the display.
- Target zones should be triggered after a small delay of 0.1 seconds. This is when the indicator should appear. Keep displaying the indicator until the cursor has left the target area.
- Target zones on top of the existing window (same as in current Pop!_OS).

- Target zones resize dynamically to include the pill-indicators. When the pill indicator shows between windows or groups, the target zone where it shows increases to reach from border to border (window or group). Other target zones should adjust accordingly.

The designs will require more usability testing and refinement once there is an implemented version.