[Multimonitor] [Grid] plug-in: The window snapping does not follow the preview, but uses the display the mousepointer is on when the mousebutton gets released
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
Low
|
MC Return | ||
compiz (Ubuntu) |
Fix Released
|
Low
|
MC Return |
Bug Description
[Test Case]
1. Make sure you have at least 2 monitors/displays attached.
2. Move your mouse slowly from monitor 1 to monitor 2, so you will trigger the grid's snapping feature.
3. Once you see the snapping window resize preview, move your mouse slowly to monitor 2.
Note: Move it so far, that you are sure to be on monitor 2 with your mouse, but not so far into monitor 2 that the preview closes.
4. Once you are on monitor 2 release the mouse button.
What should happen:
As the preview is still on monitor 1 one would expect the window resizing on monitor 1.
What actually happens:
While the preview is still clearly visible on monitor 1, the window resizes where the mousepointer currently is at (which is correct behavior), namely on monitor 2.
The projection does not match the action taken, because the preview is not informed on time about the mousepointer monitor change.
The attached video explains the situation best. :)
The problem here is that detection (if the cursor enters another output) is done after the trigger edges have already been detected and calculated, so if you enter a new screen the preview will still have the old values and not follow the mousepointer to the new monitor. Then if you release the mousebutton the resize won't follow the preview, but resize correctly on the monitor your cursor is currently at.
The branch linked fixes this.
Related branches
- Daniel van Vugt: Approve
- Sam Spilsbury: Approve
- PS Jenkins bot: Pending (continuous-integration) requested
-
Diff: 51 lines (+17/-17)1 file modifiedplugins/grid/src/grid.cpp (+17/-17)
description: | updated |
Changed in compiz: | |
assignee: | nobody → MC Return (mc-return) |
status: | New → In Progress |
description: | updated |
description: | updated |
Changed in unity: | |
status: | New → In Progress |
assignee: | nobody → MC Return (mc-return) |
Changed in compiz: | |
importance: | Undecided → Low |
Changed in compiz: | |
milestone: | none → 0.9.9.0 |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz (Ubuntu): | |
status: | Triaged → Fix Committed |
assignee: | nobody → MC Return (mc-return) |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
Fix committed into lp:compiz at revision 3448, scheduled for release in Compiz 0.9.9.0