[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

Bug #1068173 reported by MC Return on 2012-10-18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
MC Return
compiz (Ubuntu)
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

MC Return (mc-return) on 2012-10-24
description: updated
Changed in compiz:
assignee: nobody → MC Return (mc-return)
status: New → In Progress
MC Return (mc-return) on 2012-10-24
description: updated
MC Return (mc-return) on 2012-10-24
description: updated
MC Return (mc-return) wrote :
MC Return (mc-return) on 2012-10-25
Changed in unity:
status: New → In Progress
assignee: nobody → MC Return (mc-return)
Changed in compiz:
importance: Undecided → Low
Changed in compiz:
milestone: none →
Changed in compiz:
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:compiz at revision 3448, scheduled for release in Compiz

no longer affects: unity
Changed in compiz (Ubuntu):
status: New → Triaged
importance: Undecided → Low
Changed in compiz (Ubuntu):
status: Triaged → Fix Committed
assignee: nobody → MC Return (mc-return)
Launchpad Janitor (janitor) wrote :
Download full text (5.6 KiB)

This bug was fixed in the package compiz - 1:0.9.9~daily12.12.05-0ubuntu1

compiz (1:0.9.9~daily12.12.05-0ubuntu1) raring; urgency=low

  [ Michael Terry ]
  * debian/control:
    - Update Vcs-Bzr
  * debian/patches/100_expo_layout.patch:
    - Fix to apply
  * Automatic snapshot from revision 3451 (bootstrap)
    - Fix crash from writing to static memory (LP: #1065814)
    - Fix maximized windows changing workspaces (LP: #1071791)
    - Respect Zoom Factor setting (LP: #1066187)
    - Respect Show Window Title setting (LP: #1009999)
    - Restore text background transparency (LP: #1042132)
    - Restore screenshot selection rectangle transparency (LP: #1047788)
    - Restore top and bottom cube transparency (LP: #1048272)
    - Fix scaleaddon window highlighting being solid (LP #1068503)
    - Make resize hint overlay disappear when changing edges (LP: #839602)
    - Preserve grid IDs during drag (LP: #1067812, LP: #1048855)
    - Save current display before doing snap preview (LP: #1068173)
    - Ignore inactive keybindings (LP: #1053280)
    - Handle <primary> in keyboard shortcuts (LP: #936840)
    - Make sure showdesktop plugin is loaded after unityshell (LP: #1067534)
    - Fix grid build failure (LP: #1067577)
    - Fix Jenkins test failures (LP: #1058577)
    - Don't allow duplicate static symbols when linking (LP: #1067964)
    - Make external templates C++0x compatible (LP: #1067598)
    - Make sure to initialize class members (LP: #1033877)
    - Don't duplicate templates in plugins (LP: #1066793, LP: #1066803,
      LP: #1066804, LP: #1066805, LP: #1066799, LP: #1066796,
      LP: #1066795, LP: #1066798, LP: #1067218, LP: #1067219)
    - Don't needlessly set gsettings keys (LP: #1064791)
    - Remove unused code (LP: #1037142, LP: #1067234)
    - Fix syntax highlighting for trunk xml files (LP: #1066823)
    - Fix documentation for building with python2 (LP: #1070211)

  [ Stephen M. Webb ]
  * Windows open below panel and launcher, grid does not work at all,
    window animations missing, and general plugin chaos if built on
    raring (cmake >= 2.8.10) (LP: #1085581)

  [ Iven Hsu ]
  * KDE Appmenu doesn't work with compiz decorators (LP: #1082265)
  * compiz fails to build from source in KDE4-window-decorator
    with latest KDE 4.10 beta (LP: #1082152)
  * kde4-window-decorator crashes when starting up with oxygen theme
    (LP: #1050776)

  [ sampo555 ]
  * Grid: Window management - resize preview does not show when moving a
    window from the semi-maximised state to the maximised state in a
    single action (LP: #1071689)

  [ Timo Jyrinki ]
  * HTML5 video in Firefox continues to tear (LP: #1086337)

  [ MC Return ]
  * Workspacenames Plug-in: Wishlist: Default Appearance values not
    ideal (LP: #1075600)
  * Resizeinfo Plug-in: No possibility to change the color and
    transparency of the rounded background outline (LP: #1070297)
  * Resizeinfo Plug-in: Gradient color 2 and 3 settings are ignored and
    no background gradient is rendered (LP: #1070233)
  * Expo animations "Fade + Zoom" & "Vortex" result in a black screen
    (LP: #875311)
  * Workspacenames Plug-in: Wishlist: No default values...


Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
Changed in compiz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Related blueprints