Comment 5 for bug 987787

Revision history for this message
ijk (ijk) wrote :

The current "Sticky edges" are too sticky but only because the edge behavior is baaad. (IMHO)

The behavior I would like:
* No movement loss
* Temporal asymmetric stickiness

Imagine I'm moving my pointer across an edge below the sticky speed threshold - What I'd like would be my cursor to stay behind when I hit an edge but for a shadow cursor to keep moving - and when my pointer gets far enough past the edge the cursor springs across to join it's shadow. Obviously the cursor, when stickied, would follow the shadow on the axis parallel to the edge being crossed. I like this because it provides clear visual feedback of what's going on, and it doesn't break the relationship between how far I moved my mouse, and how far the pointer moved in situations where I moved it far enough to cross the edge.

Now Imagine I'm moving my pointer from my left monitor to my right monitor with the goal of clicking something on the left edge of the right monitor. I have to move the mouse too far onto the right monitor (to get past the threshold) and then back again. This is actually pretty difficult to do fast - and therefore annoying. With my current mouse I tend to end up with the pointer where it started. So the solution is to temporarily have a much higher stickyness threshold when the pointer is going back the way it came. As you have a plan for access to that left edge it becomes acceptable to have an even higher initial threshold.

Also when moving windows the pointer should not be sticky, instead the drag-to-edge functionality should kick in.
For a cohesive feel the distance thresholds for what constitutes drag-to-edge should be the same as the stickiness distance. And similar behavior for dragging back to an edge you just crossed.

Alternative implementation -
make the scroll bar handles of a window maximized on a left monitor centered on the scrollbar so it extend onto the right monitor as the pointer approaches from the right of the window. It would probably help to make it fatter too.