After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 677565 - Allow using <Super>+DownArrow to unmaximize/unsnap windows
Allow using <Super>+DownArrow to unmaximize/unsnap windows
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
3.4.x
Other Linux
: Normal enhancement
: ---
Assigned To: mutter-maint
mutter-maint
: 679314 683750 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-06-06 16:18 UTC by Jean-François Fortin Tam
Modified: 2012-09-20 05:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
window: Do not restore tiling on unmaximize (1.15 KB, patch)
2012-07-03 19:56 UTC, Florian Müllner
committed Details | Review

Description Jean-François Fortin Tam 2012-06-06 16:18:25 UTC
I just discovered that Super+up = maximize and Super+left/right snaps the window to the left or right edge.

To be even more useful, perhaps Super+down could reset the window to the unmaximized, undocked state.
Comment 2 Jean-François Fortin Tam 2012-06-07 13:56:29 UTC
Oh I see that it does unmaximize, but it does not un-snap-to-edge ie: undo Super+left/right). Could that be considered?
Comment 3 Florian Müllner 2012-06-07 14:51:08 UTC
Sure, everything can be considered :-)

The current behavior for restore is to restore the state the window had before maximization, e.g. either "normal" or "tiled". The rational was more or less that if you have a tiled window and hit the maximize button twice, it would be weird to end up with a "normal" window rather than a tiled one. Of course that was when we stilled had a maximize button in the default configuration, so it might indeed be worth to reconsider.
Comment 4 Florian Müllner 2012-07-03 09:49:45 UTC
*** Bug 679314 has been marked as a duplicate of this bug. ***
Comment 5 Matthias Clasen 2012-07-03 19:45:58 UTC
I agree that it would be nice to have Super-Down go to unmaximized
Comment 6 Jasper St. Pierre (not reading bugmail) 2012-07-03 19:50:54 UTC
There's also the case of hitting <Super>Right, and then <Super>Left. We should try to restore the state that was there before, rather than tiling to the left.

Additionally, Windows 7 has a good behavior for multiple monitors:

With two monitors side by side, and an unmaximized window on the left-hand one, hitting <Super>Right will toggle to the right side of the monitor. Hitting <Super>Right again will make it tile the *left* side of the monitor on the right. Hitting it again will make it unmaximized on the right-hand monitor, and then again will tile it to the right. Hitting it again will wrap around. So the set of states is:

[ Left Monitor Tile Left,  Left Monitor Umaximized,  Left Monitor Tile Right,
 Right Monitor Tile Left, Right Monitor Umaximized, Right Monitor Tile Right]
Comment 7 Florian Müllner 2012-07-03 19:56:27 UTC
Created attachment 217955 [details] [review]
window: Do not restore tiling on unmaximize

When we consider tiling a special case of maximization, it makes
more sense to always unmaximize to the normal state rather than
restoring a previous tile state.
Comment 8 Florian Müllner 2012-07-03 19:58:03 UTC
(In reply to comment #6)
> There's also the case of hitting <Super>Right, and then <Super>Left. We should
> try to restore the state that was there before, rather than tiling to the left.

Mmh, I remember this being discussed at some point and considered confusing.
Comment 9 Jasper St. Pierre (not reading bugmail) 2012-07-03 19:58:54 UTC
Review of attachment 217955 [details] [review]:

Looks good. Is there a reason we store tile_mode independently of maximization state now, then?
Comment 10 Jasper St. Pierre (not reading bugmail) 2012-07-13 03:54:07 UTC
Florian, do you want to push this?
Comment 11 Florian Müllner 2012-07-16 21:13:52 UTC
Attachment 217955 [details] pushed as 10d53fc - window: Do not restore tiling on unmaximize

I was hoping for design input, but well ... let's just go with this for now :-)
Comment 12 Florian Müllner 2012-09-10 22:02:23 UTC
*** Bug 683750 has been marked as a duplicate of this bug. ***
Comment 13 James 2012-09-20 05:03:19 UTC
FWIW, I found one more issue: If you have two monitors, then I would expect if a window is on the left most window that <super>+right twice would first tile it on the right hand side of the left window, and then on the second press it would get tiled on the right hand side of the right window.

Maybe this would be something useful to add.


Thank you for your consideration,

James
Comment 14 Jasper St. Pierre (not reading bugmail) 2012-09-20 05:13:49 UTC
(In reply to comment #13)
> FWIW, I found one more issue: If you have two monitors, then I would expect if
> a window is on the left most window that <super>+right twice would first tile
> it on the right hand side of the left window, and then on the second press it
> would get tiled on the right hand side of the right window.

I think you're mixing up your "window"s and "monitor"s, there.
Comment 15 James 2012-09-20 05:21:20 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > FWIW, I found one more issue: If you have two monitors, then I would expect if
> > a window is on the left most window that <super>+right twice would first tile
> > it on the right hand side of the left window, and then on the second press it
> > would get tiled on the right hand side of the right window.
> 
> I think you're mixing up your "window"s and "monitor"s, there.

Man is it that time of the day already? yup sorry! Corrected text should read:

FWIW, I found one more issue: If you have two monitors, then I would expect if
a window is on the left most monitor that <super>+right twice would first tile
it on the right hand side of the left monitor, and then on the second press it
would get tiled on the right hand side of the right monitor.

Thanks for the catch Jasper!