Shell 40: accidental window drags when workspace switching
Problem description
In the overview, you can currently switch workspace using the pointer by either clicking the workspace background (on non-selected workspaces only) or dragging the background (works on the grey background or on the background of any workspace, selected or non-selected).
During prototype testing, we observed a recurrent issue with this behaviour: users would instinctively drag the workspace horizontally but would often, in the process, accidentally drag a window, causing the view to surprisingly zoom out.
Part of the issue is that, when the pointer is in motion, the click position becomes imprecise and can easily happen when over a window rather than the background. Another aspect is that as a workspace becomes increasingly populated with windows, the areas available for dragging become smaller. An action that is relatively easy at some points in the session can become progressively more difficult.
Proposal
We've discussed this issue on the design side and the best solution we could come up with is to disable the drag to switch workspace behaviour, and see how this feels. The hope is that other methods for switching workspace (scroll wheel, two finger drag) can fill in. The risk is that the expectation of dragging is so strong that people find it very frustrating not to be able to do it.
Alternatives
Alternative or complementary approaches that we might want to consider:
- One possible modification on the design proposal might be to only disable dragging on the selected workspace.
- Inhibiting window drags when the pointer is moving at a certain speed and/or angle.
- Developing the hover states of both windows and workspaces, to more clearly communicate how they can be interacted with.