Grid/Expo: Corner-, top-, bottom- and center-resized Grid windows confuse Expo and follow the user from workspace to workspace

Bug #1082001 reported by MC Return
52
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
MC Return
compiz (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

[Test Case]

1. Open a window
2. Hit "Ctrl+Alt+Numpad3" to resize it via Grid (for example Firefox) into a corner.
   Alternatively you can drag the window to a corner to grid-resize it.
3. Open any other window (for example a terminal)
4. Trigger Expo (via Launcher's Workspace Switcher icon or by hitting "Super+S" for example)
5. Now drag the "non-gridded" second window (terminal in our case here) to another workspace/viewport

What you would expect to happen:

The terminal window should now be on the new viewport. The other window should not change position.

What actually happens:

No matter on which workspace the terminal window is dragged to, the *gridded* window follows.
Wait, it gets even better:
If you try to switch the workspace without dragging a window, the *gridded* window will follow you, whereever you go.
If you resize multiple windows via Grid all will follow you from workspace to workspace.

Note 1: I have tested this in a virtual machine with a vanilla default up-to-date installation of Raring also, to make sure non-default settings are not causing this problem.

Note 2: This bug makes using Grid in combination with Expo (which are both enabled by default on Ubuntu) completely unusable and should have high priority.

SUMMARY:
When a window gets positioned in a corner or the top/bottom half and you switch workspace using ẃorkspace switcher (expo) the window gets positioned on every workspace you switch to on exactly the same position.
Same is true for dragging one window on the same workspace as the grid positioned window (corners or top/bottom half) to another workspace: the grid placed window follows to the workspace the other window is dragged to.
This behavior is not true for windows that have grid positions when launched!
The following video demonstrates the bug:
http://ubuntuone.com/2s8kNGM6Qcp3WFfjOwe6XX

Related branches

MC Return (mc-return)
summary: - Grid/Expo: Grid resized windows via keyboard shortcuts confuse Expo and
- jump around from workspace to workspace
+ Grid/Expo: Via keyboard-shortcut resized Grid windows confuse Expo and
+ follow the user from workspace to workspace
Omer Akram (om26er)
Changed in compiz:
status: New → Confirmed
Revision history for this message
MC Return (mc-return) wrote : Re: Grid/Expo: Via keyboard-shortcut resized Grid windows confuse Expo and follow the user from workspace to workspace
Sami Jaktholm (sjakthol)
Changed in compiz (Ubuntu):
status: New → Confirmed
Revision history for this message
Lucas Capalbo Lavezzo (lucas-capalbo) wrote :

I can confirm this on a up-to-date precise install.
On Note 3: Only Ctrl+Alt+Numpad4 and Ctrl+Alt+Numpad6 works fine, and since these are the only grids position allowed using the mouse with defaults settings, grid seems to work fine with the mouse. However, I modified grid setting to allow mouse positioning in every corner, half-top and half-bottom, and this bug affects all those positions when using screen edges with mouse.

Revision history for this message
WhyNotHugo (whynothugo) wrote :

The original (older) issue describes the issue (bug 1058950)better IMHO:

"""
Place a window in a corner using the GRID plugin (ie: bottom-left).
Switch to any other workspace using EXPO.
The window is visible on any other workspace, even though it shouldn't be.

This issue does NOT reproduce if the window is placed on a side (ie: right) instead of a corner.
"""

It's irrelevant if you use keyboard or mouse to place the window, the only thing that's relevant is the usage of the GRID plugin.

MC Return (mc-return)
description: updated
summary: - Grid/Expo: Via keyboard-shortcut resized Grid windows confuse Expo and
- follow the user from workspace to workspace
+ Grid/Expo: Corner-resized Grid windows confuse Expo and follow the user
+ from workspace to workspace
Revision history for this message
MC Return (mc-return) wrote : Re: Grid/Expo: Corner-resized Grid windows confuse Expo and follow the user from workspace to workspace

hugo.osvaldobarrera, thanks for clarifying that. I did not know about the duplicate.
It will help us a lot in fixing this for 13.04. The first thing to fix a bug is to have a
perfect description on how to exactly reproduce it. :)

You are also right that normally the oldest bug should be the original and the others should be duplicates, but I do not want to shuffle duplicate status again, I've adjusted this report instead...

Revision history for this message
Esokrates (esokrarkose) wrote :

Updated description because bug title and description are not complete: Bottom/Top half grid windows are also affected.

description: updated
tags: added: 0.9.9.2 compiz
Esokrates (esokrarkose)
tags: added: raring
Revision history for this message
WhyNotHugo (whynothugo) wrote :

The new summary is wrong, it does not occur with any workspace switcher, only with expo. Using desktop wall does not reproduce the issue.

Revision history for this message
Esokrates (esokrarkose) wrote :

@Hugo, With the word "Workspace switcher" I am referring to a default ubuntu installation, where expo is called "Workspace Switcher".

description: updated
Revision history for this message
MC Return (mc-return) wrote :

Okay, I got a solution for top and bottom windows at least...

Changed in compiz:
assignee: nobody → MC Return (mc-return)
summary: - Grid/Expo: Corner-resized Grid windows confuse Expo and follow the user
- from workspace to workspace
+ Grid/Expo: Corner-, top-, bottom- and center-resized Grid windows
+ confuse Expo and follow the user from workspace to workspace
Changed in compiz:
status: Confirmed → In Progress
Changed in compiz:
milestone: none → 0.9.10.0
Revision history for this message
MC Return (mc-return) wrote :

The branch linked here fully fixes this problem.
Many thanks for the excellent help, review (and a substantial part of the code) go to Sami Jaktholm. +1

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:compiz at revision 3650, scheduled for release in compiz, milestone 0.9.10.0

Changed in compiz:
status: In Progress → Fix Committed
MC Return (mc-return)
Changed in compiz:
importance: Undecided → Critical
importance: Critical → High
WhyNotHugo (whynothugo)
no longer affects: archlinux
Stephen M. Webb (bregma)
Changed in compiz:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (70.8 KiB)

This bug was fixed in the package compiz - 1:0.9.10+13.10.20130822-0ubuntu1

---------------
compiz (1:0.9.10+13.10.20130822-0ubuntu1) saucy; urgency=low

  [ Sam Spilsbury ]
  * Bump version to 0.9.10

  [ Łukasz 'sil2100' Zemczak ]
  * Remove debian/patches/unity_support_test.patch:
    - Running the support test from compiz has bad side effects, from now
      on we run it from Xsession.d
  * Automatic snapshot from revision 3644

  [ Iven Hsu ]
  * Opacify: Only dim the windows above the active window.(LP:
    #1189374). (LP: #1189374)
  * KWD: Fix compile errors with KDE 4.11. The KWin developers made
    kdecorationbridge.h private. See:
    http://lists.freedesktop.org/archives/compiz/2013-March/003479.html
    (LP: #1193792). (LP: #1193792)

  [ Nikolay Martynov ]
  * When static switcher is enabled and has an option to show
    application icon turned on the icons are expected to be ~1/3 of a
    thumbnail (48px). Instead they are displayed in 512px size and
    completely cover everything. This change addresses this issue. See
    LP #1173914. (LP: #1173914, #1186426)

  [ BryanFRitt ]
  * Fixed the non-working Annotate 'Clear' Button. Moved this option's
    CCSM position upwards to keep the button shortcuts together. (LP:
    #1202907). (LP: #1202907)

  [ Mehrdad Afshari ]
  * Added "move window to previous monitor" feature to compiz Put
    plugin. (LP: #1178581)

  [ Hu Kang ]
  * gtk-window-decorator: destroy action menu when any of the (close,
    min, max) buttons on the title bar is pressed. (LP: #1101648)
  * Remove redundant src/logmessage/include/core/logmessage.h (LP:
    #1067246). (LP: #1067246)

  [ Steve Langasek ]
  * Fix for bug #763148 (with added test cases): when the desktop is
    resized, windows should stay on their original workspace. (LP:
    #763148)

  [ Brandon Schaefer ]
  * Unrevert 3728, fix failing tests. Change the behaviour of
    undecorating windows. Previously when a window was undecorated, we
    would shift it back to an appropriate position according to its
    gravity member. That behaviour was problematic because in the
    StaticGravity case the window has to just stay in the same place.
    But then if you had a window with StaticGravity which then did get a
    decoration and later removed it, it would be placed as though it was
    decorated and appear to be in the wrong place. The correct behaviour
    is to place all windows as though they have decorations, and then
    when decorations are removed, to move the window back to the corner
    as indicated in its gravity and then expand its size to cover the
    obscured regions no longer hidden because the decorations went away.
    (LP: #1165343).   1. Completely remove decorOffsetMove and other
    related code from      decor.cpp. Put the logic to handle the
    window->input () - window->border ()      placement offset inside of
    setWindowFrameExtents instead. Now the window      will always be
    offset from its original non-decorated position to the new
         decorated position, rather than having to guess between
    decoration sizes.   2. Make saveGeometry and restoreGeometry work
    relative to window->border ()      a...

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.