Merge lp://staging/~dylanmccall/unity/panel-drag-frontmost-maximized into lp://staging/unity
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Didier Roche-Tolomelli | Approve | ||
Review via email: mp+53552@code.staging.launchpad.net |
Description of the change
This branch changes the mechanics for the top panel acting as a titlebar. Previously, the top panel could be dragged in order to unmaximize (and move) a maximized window, but only if that window was in focus. This opened up some issues, which are covered in bug #716177.
With this branch, Unity's PanelMenuView maintains a list of maximized windows. (Note: When I say “maximized window,” I really mean “a window that Unity has started decorating instead of the window decorator.” Right now, that is limited to maximized windows).
When the user clicks the top panel, that click affects the front-most of the PanelMenuView's maximized windows. Previously, OnMaximizedGrab would only affect the active window if it was maximized.
I also added some code to Activate the front-most maximized window, bringing it into focus when the top panel is clicked.
There is some intricacy involving multiple viewports and desktops, where the top panel should never act as a titlebar for a window that is not visible (be it behind another maximized window or on a different viewport). I believe I have covered the appropriate cases in WindowManager:
Thanks a lot of your work there and to tackle this usability issue. Your work is really appreciated there.
However, I prefer first to continue the discussion on the bug report with the design team so that we can decide how to deal effectively with this case. (like the menuproxy which becomes "weird" with your path)