Window management - Restoring a grid-placed window by dragging the title bar downwards does not restore the original window width

Bug #878516 reported by Someone
184
This bug affects 37 people
Affects Status Importance Assigned to Milestone
Ayatana Design
Fix Committed
Critical
John Lea
Compiz
Fix Released
High
Sami Jaktholm
0.9.8
Won't Fix
High
Unassigned
Compiz Grid Plugin
Triaged
High
Unassigned
Compiz Main Plugins
Triaged
High
Sam Spilsbury
Unity Distro Priority
Fix Released
Undecided
Unassigned
compiz (Ubuntu)
Fix Released
High
Sami Jaktholm
compiz-plugins-main (Ubuntu)
Triaged
High
Sam Spilsbury

Bug Description

This bug is now just about failing to restore the original window size (width is the main problem). The issue with the mouse pointer separating from the title bar is bug 201681.

ORIGINAL DESCRIPTION:
In Ubuntu 11.04 when you snapped a window to the left/right screen edges and later removed it, it returned to it's original size.
In Ubuntu 11.10 it stays in the size it got when it snapped to the left/right screen edges. It should restore to it's original size like it did in Ubuntu 11.04, there is no point in it staying in the size it got when snapped, it's just awkward.

---------------------------------

window management - Restoring a semi-maximised window by dragging the title bar downwards restores the window into the wrong shape and position

To Reproduce:
1. Semi-maximise a window
2. Try to restore the window by dragging the title bar of the semi-maximised window downwards

----What currently incorrectly happens----

- The window shifts to the restored state but remains the same size and shape as when it was semi-maximised. The window also gets disconnected from the pointer and shifts downwards. See attached screencast "semimaximise_restore_issue.ogv" for a demonstration.

- Note this also happens when a semi-maximised window is restored by clicking on the 'restore' window decoration button in the window title bar

----What should happen----

- When a window is restored it should return to the exact same size and shape as it was before it was semi-maximised or maximised.

- If a window is restored by dragging the title bar downwards with the pointer, after the window snaps out of the maximsed state, the window title bar should remain locked to the pointer until the drag is released.

- If a window is restored by clicking the 'restore' window decoration or by using a keyboard shortcut, the window should be restored to the exact position it was before it was maximised or semi-maximised

Related branches

Revision history for this message
Someone (temp4746) wrote :
Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [Bug 878516] [NEW] Regression: snap to screen edges to view two windows side by side doesn't restore window size correctly

On Thu, Oct 20, 2011 at 5:23 AM, Someone <email address hidden> wrote:
> Public bug reported:
>
> In Ubuntu 11.04 when you snapped a window to the left/right screen edges and later removed it, it returned to it's original size.
> In Ubuntu 11.10 it stays in the size it got when it snapped to the left/right screen edges. It should restore to it's original size like it did in Ubuntu 11.04, there is no point in it staying in the size it got when snapped, it's just awkward.

It does restore to its original size, you just need to demaximize it
first. The maximization and dragging side-to-size on a "locked rail"
was a design choice.

>
> ProblemType: Bug
> DistroRelease: Ubuntu 11.10
> Package: unity 4.22.0-0ubuntu3
> ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
> Uname: Linux 3.0.0-12-generic i686
> ApportVersion: 1.23-0ubuntu3
> Architecture: i386
> CompizPlugins: [core,bailer,detection,composite,opengl,decor,compiztoolbox,resize,regex,gnomecompat,move,animation,snap,vpswitch,mousepoll,wall,grid,imgpng,place,expo,workarounds,fade,unitymtgrabhandles,session,ezoom,scale,unityshell]
> Date: Wed Oct 19 23:18:45 2011
> InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
> SourcePackage: unity
> UpgradeStatus: No upgrade log present (probably fresh install)
>
> ** Affects: unity (Ubuntu)
>     Importance: Undecided
>         Status: New
>
>
> ** Tags: apport-bug i386 oneiric running-unity
>
> --
> You received this bug notification because you are a member of Unity
> Bugs, which is subscribed to unity in Ubuntu.
> https://bugs.launchpad.net/bugs/878516
>
> Title:
>  Regression: snap to screen edges to view two windows side by side
>  doesn't restore window size correctly
>
> Status in “unity” package in Ubuntu:
>  New
>
> Bug description:
>  In Ubuntu 11.04 when you snapped a window to the left/right screen edges and later removed it, it returned to it's original size.
>  In Ubuntu 11.10 it stays in the size it got when it snapped to the left/right screen edges. It should restore to it's original size like it did in Ubuntu 11.04, there is no point in it staying in the size it got when snapped, it's just awkward.
>
>  ProblemType: Bug
>  DistroRelease: Ubuntu 11.10
>  Package: unity 4.22.0-0ubuntu3
>  ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
>  Uname: Linux 3.0.0-12-generic i686
>  ApportVersion: 1.23-0ubuntu3
>  Architecture: i386
>  CompizPlugins: [core,bailer,detection,composite,opengl,decor,compiztoolbox,resize,regex,gnomecompat,move,animation,snap,vpswitch,mousepoll,wall,grid,imgpng,place,expo,workarounds,fade,unitymtgrabhandles,session,ezoom,scale,unityshell]
>  Date: Wed Oct 19 23:18:45 2011
>  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
>  SourcePackage: unity
>  UpgradeStatus: No upgrade log present (probably fresh install)
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/unity/+bug/878516/+subscriptions
>

--
Sam Spilsbury

Revision history for this message
Someone (temp4746) wrote : Re: Regression: snap to screen edges to view two windows side by side doesn't restore window size correctly

I'm using nautilus to test this and it doesn't appear to be working as intended.

I snap nautilus to the side and then drag it and it display the on-rail behavior you describe but I can't "de-maximize" it, it will just maximize it completely and restoring it from maximizing will still be at the same size from the snap.

Also when it's snapped the maximize button is a "de-maximize" one but a standard maximize button which will maximize the window and upon restoring will restore to a size slightly smaller from the top border.

Also dragging a snapped window will have it show after dragging slightly smaller from the bottom border.

It really doesn't feel like it's working as intended.

Revision history for this message
Someone (temp4746) wrote :

BTW I'm not sure that "locked rail" design is really good most users are likely to be used to this feature from Windows 7 and as such will expect it to behave as such and dragging a window "on a rail" like this really isn't useful anyhow. If someone wants the ability to have a window that is the entire height of the screen but only some of it's weight it's best to implement a seperate shortcut to do this. (Windows 7 uses double click on top/bottom edge)

Revision history for this message
Omer Akram (om26er) wrote :

Another regression caused by the compiz-plugins-main SRU

Changed in compiz-plugins-main (Ubuntu):
status: New → Confirmed
Changed in unity (Ubuntu):
status: New → Confirmed
Changed in unity:
status: New → Incomplete
status: Incomplete → Confirmed
Changed in compiz-plugins-main (Ubuntu):
importance: Undecided → High
assignee: nobody → Sam Spilsbury (smspillaz)
milestone: none → oneiric-updates
Changed in unity:
milestone: none → 4.26.0
Changed in unity-distro-priority:
status: New → Fix Committed
Dr Belka (wmasters15)
Changed in unity-distro-priority:
status: Fix Committed → Fix Released
David Barth (dbarth)
Changed in unity:
milestone: 4.26.0 → 4.28.0
Omer Akram (om26er)
Changed in unity:
milestone: 4.28.0 → 4.30.0
Changed in compiz-grid-plugin:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Sam Spilsbury (smspillaz)
Revision history for this message
Eduardox123 (ebeduardox06-deactivatedaccount) wrote :

I installed Unity 5.0 on Ubuntu 11.10, and it does not work properly from version 4.XX. I uploaded a video on Youtube to be able to show.

I hope that helps

http://youtu.be/GGpN45Uc8G0

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Eduardox123, in your video it appears you're suffering from both this bug and bug 886192. Please subscribe to both.

affects: compiz-grid-plugin → compiz-plugins-main
Revision history for this message
Felix Haller (felixhaller) wrote :

still doesn't work in 12.04. when I unsnap the window, the mouse pointer is around a quarter of the screen size above the window's title bar but i can move the window till i release the mouse button.

John Lea (johnlea)
description: updated
tags: added: udp
Changed in ayatana-design:
assignee: nobody → John Lea (johnlea)
importance: Undecided → Critical
status: New → Fix Committed
summary: - Regression: snap to screen edges to view two windows side by side
- doesn't restore window size correctly
+ Regression, Window management - Restoring a semi-maximised window by
+ dragging the title bar downwards restores the window into the wrong
+ shape and position
Changed in unity:
assignee: nobody → Sam Spilsbury (smspillaz)
Revision history for this message
Nekhelesh Ramananthan (nik90) wrote : Re: Regression, Window management - Restoring a semi-maximised window by dragging the title bar downwards restores the window into the wrong shape and position

Would this be fixed for Ubuntu 12.04? This bug makes snapping to left and right annoying.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It's unclear whether we will get this bug fixed in 12.04. There are too many more important bugs to be fixed yet.

John Lea (johnlea)
Changed in unity:
milestone: 4.30.0 → backlog
Changed in compiz-grid-plugin:
status: New → Confirmed
summary: - Regression, Window management - Restoring a semi-maximised window by
- dragging the title bar downwards restores the window into the wrong
- shape and position
+ Restoring a grid-placed window by dragging the title bar downwards
+ restores the window into the wrong shape and position
summary: - Restoring a grid-placed window by dragging the title bar downwards
- restores the window into the wrong shape and position
+ Restoring a grid-placed window by dragging the title bar downwards does
+ not restore the original window shade
summary: Restoring a grid-placed window by dragging the title bar downwards does
- not restore the original window shade
+ not restore the original window shape
description: updated
summary: Restoring a grid-placed window by dragging the title bar downwards does
- not restore the original window shape
+ not restore the original window width
Changed in compiz-plugins-main:
milestone: none → 0.9.7.4
Changed in compiz:
assignee: nobody → Sam Spilsbury (smspillaz)
importance: Undecided → High
status: New → Confirmed
Changed in compiz:
importance: High → Undecided
Changed in compiz:
importance: Undecided → High
Changed in compiz:
importance: High → Undecided
Revision history for this message
Launchpad Janitor (janitor) wrote : Re: Restoring a grid-placed window by dragging the title bar downwards does not restore the original window width

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in compiz (Ubuntu):
status: New → Confirmed
Revision history for this message
triplesqaurednine (triplesquarednine) wrote :

@Sam

why did you mark this bug from important 'high' to 'undecided'? (in compiz) is this something that isn't going to be addressed because it's been fixed in Ubuntu (only)?

This bug has been around for months now, it didn't exist previously and is a pesky annoyance that actually makes grid a somewhat useless, buggy plugin... (ie: i used to use grid all the time, and now NEVER use it).

It does cause a usability problem ~ shouldn't it be marked 'medium' at the very least?

While i think it is great you guys have provided a fix in other branches that probably make it not affect Ubuntu. it certainly affects other people who are using compiz.

cheerz

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

That wasn't Sam that changed the importance. It was a script he wrote to migrate bugs from compiz-core to compiz.

Obviously resetting the importance field was a small bug in the script.

Changed in compiz:
milestone: none → 0.9.8.0
importance: Undecided → Medium
Changed in compiz-grid-plugin:
importance: Undecided → Medium
Changed in compiz-plugins-main:
importance: High → Medium
no longer affects: unity
no longer affects: unity (Ubuntu)
Changed in compiz (Ubuntu):
importance: Undecided → Medium
Changed in compiz-plugins-main (Ubuntu):
importance: High → Medium
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

I'm surprised the importance was changed ... I made the script not change things in existing projects ...

Revision history for this message
triplesqaurednine (triplesquarednine) wrote :

@Daniel & Sam

Ah, that makes sense - i guess it wasn't a bad thing to mention then, if it caught a bug that could've potentially affected other bug report 'priorities'

cheerz

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

In any case, it only would have affected the priority in the compiz project. The other priorities remain unchanged.

Revision history for this message
Sami Jaktholm (sjakthol) wrote :

The problem is only happening when the window is maximized to the Left or Right edge. If you place a window to for example top left, or bottom, the window is resized correctly after it's snapped away from its position.

Grid leaves the unmaximation to some other component and that doesn't restore the width which was changed prior to maximation (my guess is that it saves the window state after grid has changed the width) . Easy workaround would be to resize (and reposition, the position is also wrong if unmaximized via window controls) the window in GridWindow::stateChangeNotify when window is unmaximized. However this would complicate things even more as there's now two parts of the code which handle resizing and repositioning (one for normal restore, another for restore from maximized state).

While debugging this, I found many other bugs (I'll open separate reports about those). IMO the window handling parts of the grid plugin should be completely rewritten instead of relying on ugly hacks to fix these bugs. Working around them would be hard and it will make make the code even more complicated than needs to be and thus might cause some other problems in the future...

description: updated
John Lea (johnlea)
Changed in compiz (Ubuntu):
importance: Medium → High
Changed in compiz-plugins-main (Ubuntu):
importance: Medium → High
Changed in compiz (Ubuntu):
status: Confirmed → Triaged
Changed in compiz-plugins-main (Ubuntu):
status: Confirmed → Triaged
description: updated
Changed in compiz:
milestone: 0.9.8.0 → 0.9.8.1
John Lea (johnlea)
summary: - Restoring a grid-placed window by dragging the title bar downwards does
- not restore the original window width
+ Window management - Restoring a grid-placed window by dragging the title
+ bar downwards does not restore the original window width
Changed in compiz:
milestone: 0.9.8.2 → 0.9.8.4
Changed in compiz:
milestone: 0.9.8.4 → 0.9.9.0
Revision history for this message
Ari (ari-lp) wrote :

This bug is still present under Ubuntu 12.04.1 LTS.

John Lea (johnlea)
Changed in compiz:
importance: Medium → High
Changed in compiz-grid-plugin:
importance: Medium → High
Changed in compiz-plugins-main:
importance: Medium → High
Changed in compiz:
status: Confirmed → Triaged
Changed in compiz-grid-plugin:
status: Confirmed → Triaged
Changed in compiz-plugins-main:
status: Confirmed → Triaged
Changed in compiz-plugins-main:
milestone: 0.9.7.4 → none
Stephen M. Webb (bregma)
Changed in compiz (Ubuntu):
assignee: nobody → Sam Spilsbury (smspillaz)
Andrea Azzarone (azzar1)
Changed in compiz:
assignee: Sam Spilsbury (smspillaz) → Andrea Azzarone (andyrock)
Changed in compiz (Ubuntu):
assignee: Sam Spilsbury (smspillaz) → Andrea Azzarone (andyrock)
Changed in compiz:
status: Triaged → In Progress
Changed in compiz (Ubuntu):
status: Triaged → In Progress
Andrea Azzarone (azzar1)
Changed in compiz (Ubuntu):
status: In Progress → Confirmed
Changed in compiz:
status: In Progress → Triaged
Changed in compiz:
assignee: Andrea Azzarone (andyrock) → sampo555 (sampo555)
status: Triaged → In Progress
Changed in compiz (Ubuntu):
status: Confirmed → In Progress
assignee: Andrea Azzarone (andyrock) → sampo555 (sampo555)
Changed in compiz:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

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

Changed in compiz (Ubuntu):
status: In Progress → Fix Committed
Changed in compiz:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

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

  [ Didier Roche ]
  * Really take default patched hsize and vsize and don't override them
    to fix (LP: #868423)

  [ sampo555 ]
  * [regression] Window resize granularity is lost when restored after
    using Grid (LP: #925867)
  * Window management - Restoring a grid-placed window by dragging the
    title bar downwards does not restore the original window width (LP:
    #878516)

  [ Daniel van Vugt ]
  * Several memory leaks in
    google::protobuf::DescriptorPool::InternalAddGeneratedFile() from
    google::protobuf::protobuf_AddDesc_*() (LP: #1102829)
  * Several leaks in g_settings_new() [g_object_new()] from
    ccsGSettingsNewNoPath() [ccs_gsettings_interface_wrapper.c:184] (LP:
    #1097649)
  * Several memory leaks in g_signal_new() ... from
    ccsGSettingsWrapperNewForSchema()
    [ccs_gsettings_interface_wrapper.c:184] from initBackend()
    [gsettings.c:468] (LP: #1102822)

  [ Sam Spilsbury ]
  * Several memory leaks in strdup() from
    ccsGSettingsIntegratedSettingReadValue() from
    ccsGNOMEIntegrationBackendReadISAndSetSettingForType() from
    ccsGNOMEIntegrationBackendReadOptionIntoSetting() (LP: #1100564)

  [ MC Return ]
  * Coverity MISSING_BREAK - CID 12468 (LP: #1101430)
  * Coverity MISSING_BREAK - CID 12466 (LP: #1101558)
  * Coverity MISSING_BREAK - CID 12467 (LP: #1101465)
  * Showmouse plugin: Possible values of the particle life setting can
    destroy the plugin's functionality (LP: #1098877)
  * Coverity MISSING_BREAK - CID 12465 (LP: #1101557)

  [ Automatic PS uploader ]
  * Automatic snapshot from revision 3582
 -- Automatic PS uploader <email address hidden> Fri, 25 Jan 2013 04:03:43 +0000

Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Dennis Schieferdecker (master-of-past-and-present) wrote :

The bug -windows not restoring to their original size- is still happening in Ubuntu 13.04 under certain conditions:

When a *terminal* window (terminal, terminator, konsole) is snapped to a screen edge and later dragged off again, the original size is not restored. The bug only occurs sometimes for terminator -mostly when snapping to the right edge- but most of the time for terminal -when the terminal window is filled, e.g. some 100 lines of history.

The bug is not happening for any other window I have tried so far. Thus, it might be a problem with these terminal applications are handling resizing.

Revision history for this message
Dennis Schieferdecker (master-of-past-and-present) wrote :

does not fix the problem all of the time - see my comment below

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

@master-of-past-and-present:
Could you file a new bug about the terminal windows issue ?
This bug was about the window width being lost and was already fixed...

Revision history for this message
Sami Jaktholm (sjakthol) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

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