Merge lp:~unity-team/unity/3v1n0-quick-alt+tab-fixes into lp:unity
Status: | Merged |
---|---|
Approved by: | Tim Penhey |
Approved revision: | no longer in the source branch. |
Merged at revision: | 2282 |
Proposed branch: | lp:~unity-team/unity/3v1n0-quick-alt+tab-fixes |
Merge into: | lp:unity |
Diff against target: |
815 lines (+336/-97) 16 files modified
manual-tests/Switcher.txt (+1/-1) plugins/unityshell/src/BamfLauncherIcon.cpp (+45/-30) plugins/unityshell/src/Launcher.cpp (+3/-1) plugins/unityshell/src/PluginAdapter.cpp (+91/-47) plugins/unityshell/src/PluginAdapter.h (+4/-1) plugins/unityshell/src/SwitcherController.cpp (+1/-0) plugins/unityshell/src/UScreen.cpp (+9/-3) plugins/unityshell/src/UScreen.h (+1/-0) plugins/unityshell/src/WindowManager.cpp (+11/-1) plugins/unityshell/src/WindowManager.h (+5/-2) plugins/unityshell/src/unityshell.cpp (+8/-5) tests/autopilot/autopilot/emulators/bamf.py (+11/-2) tests/autopilot/autopilot/emulators/unity/switcher.py (+3/-0) tests/autopilot/autopilot/tests/__init__.py (+12/-0) tests/autopilot/autopilot/tests/test_launcher.py (+65/-0) tests/autopilot/autopilot/tests/test_switcher.py (+66/-4) |
To merge this branch: | bzr merge lp:~unity-team/unity/3v1n0-quick-alt+tab-fixes |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Thomi Richards (community) | quality | Approve | |
Tim Penhey (community) | Approve | ||
Sam Spilsbury | Pending | ||
Alex Launi | quality | Pending | |
Review via email: mp+102028@code.launchpad.net |
This proposal supersedes a proposal from 2012-04-05.
Commit message
Fix the behaviour of alt-tab and clicking on the launcher icon to just raise the most recently used window, not all for that app.
BamfLauncherIcon's activation related code has been updated to be more multimonitor aware (for free I've fixed also some bugs that caused the windows not to be put in spread mode in multi-monitor), and to support both the "Launcher only on Primary Monitor" and "Launcher on all monitors" options.
PluginAdapter's FocusWindowGroup method has been updated to optionally only unminimize / raise and activate only the top window. This code would have been more optimized using a reverse iterator to fetch the top_window, but not to change the whole logic and to allow to keep the previous behavior (that initially we wanted for "long alt+tab") without duplicating code, I've just hacked that.
Implemented also GetWindowMonitor to workaround the mismatch we had with the compiz' window-
Screencast of the fixed version: http://
Description of the change
== Problem ==
Launcher, Alt-Tab - clicking on launcher item or selecting a app in Alt-Tab raises all app windows, not just most recently focused.
== Fix ==
BamfLauncherIcon's activation related code has been updated to be more multimonitor aware (for free I've fixed also some bugs that caused the windows not to be put in spread mode in multi-monitor), and to support both the "Launcher only on Primary Monitor" and "Launcher on all monitors" options.
PluginAdapter's FocusWindowGroup method has been updated to optionally only unminimize / raise and activate only the top window. This code would have been more optimized using a reverse iterator to fetch the top_window, but not to change the whole logic and to allow to keep the previous behavior (that initially we wanted for "long alt+tab") without duplicating code, I've just hacked that.
Implemented also GetWindowMonitor to workaround the mismatch we had with the compiz' window-
Screencast of the fixed version: http://
== Test ==
There are autopilot test for both bugs.
Thanks to Brandon for taking care of merging the old lp:~3v1n0/unity/quick-alt+tab-fixes with trunk and for the AP tests that I used as my base.
UNBLOCK
30 - if ((mapped && wm->IsWindowMap ped(xid) ) || !mapped) ped(xid) && !bamf_window_ get_transient( BAMF_WINDOW( view))) || !mapped)
31 + if ((mapped && wm->IsWindowMap
32 {
About this, I think I included that change mostly for testing purposes, I'm not sure it's actually wanted so move it out.
I didn't work too much on my branch lately since I didn't know if that was still the wanted desig, but if now it is, I'll be happy to get this merged :)