Merge lp:~3v1n0/unity/focused-non-top-windows-fix into lp:unity
Status: | Merged |
---|---|
Approved by: | Marco Trevisan (Treviño) |
Approved revision: | no longer in the source branch. |
Merged at revision: | 2344 |
Proposed branch: | lp:~3v1n0/unity/focused-non-top-windows-fix |
Merge into: | lp:unity |
Diff against target: |
237 lines (+116/-43) 6 files modified
manual-tests/Launcher.txt (+23/-0) plugins/unityshell/src/BamfLauncherIcon.cpp (+53/-43) plugins/unityshell/src/PluginAdapter.cpp (+33/-0) plugins/unityshell/src/PluginAdapter.h (+1/-0) plugins/unityshell/src/WindowManager.cpp (+5/-0) plugins/unityshell/src/WindowManager.h (+1/-0) |
To merge this branch: | bzr merge lp:~3v1n0/unity/focused-non-top-windows-fix |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Tim Penhey (community) | Approve | ||
Alex Launi (community) | quality | Needs Fixing | |
Review via email: mp+102958@code.launchpad.net |
Commit message
BamfLauncherIcon: Focus an application if no child window is actually on top of the stack. Raises all urgent windows.
This fixes bug #802816 that happens when an application raises a window on the top of the stack but the focus doesn't change.
Plus, don't perform unneeded checks when focusing non-active applications.
Description of the change
When a launcher icon is clicked, it should focus a window if the window is currently not on top of the stack (excluding from that the unity or other invalid windows).
To do that I've implemented a new method into PluginAdapter that checks if a Window is on top.
Also, when activating a launcher icon, we should always raise all the urgent windows, not only the top one.
Added manual tests, due to the fact that AP at the moment can't create such kind of windows on the fly.
This is autopilot testable. Start gimp, execute gimp foo-image.png (we'll need to ship an image to test with). Then check state. Simple.