Merge lp:~unity-team/unity/3v1n0-quick-alt+tab-fixes into lp:unity
| Status: | Superseded |
|---|---|
| Proposed branch: | lp:~unity-team/unity/3v1n0-quick-alt+tab-fixes |
| Merge into: | lp:unity |
| Diff against target: |
697 lines (+275/-89) 12 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 (+80/-44) plugins/unityshell/src/PluginAdapter.h (+4/-1) 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/tests/test_launcher.py (+63/-0) tests/autopilot/autopilot/tests/test_switcher.py (+45/-1) |
| To merge this branch: | bzr merge lp:~unity-team/unity/3v1n0-quick-alt+tab-fixes |
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Alex Launi (community) | quality | Needs Fixing on 2012-04-12 | |
| Tim Penhey (community) | Needs Fixing on 2012-04-06 | ||
| Sam Spilsbury (community) | 2012-04-05 | Approve on 2012-04-06 | |
|
Review via email:
|
|||
This proposal has been superseded by a proposal from 2012-04-15.
Commit Message
Fixes quick alt+tab and also fixes clicking on a launcher icon to raise the last focused application.
Description of the Change
Grabbed 3v1n0's quick alt+tab fix branch:
https:/
== Problem ==
Quick alt+tab and clicking on a launcher icon raises all of the applications of that type.
== Fix ==
The fix was to add 'OnlyVisibleOnTop' to the enum WindowManager:
To use Quick alt+tab you have to press alt+tab before a timer goes off. Right now it is set to 200ms, but is very easy to change.
Screencast of the fixed version: http://
== Test ==
There are autopilot test for both bugs.
| Marco Trevisan (Treviño) (3v1n0) wrote : | # |
| Brandon Schaefer (brandontschaefer) wrote : | # |
I ran all the autopilot test that I thought these changes would effect.
Launcher Autopilot tests:
Ran 43 tests in 296.560s
OK
Switcher Autopilot tests:
Ran 21 tests in 187.666s
OK
Dash Autopilot tests:
Ran 32 tests in 225.549s
OK
| Sam Spilsbury (smspillaz) wrote : | # |
Tests OK, no iconic window regressions (which is what I was a little concerned about)
| Tim Penhey (thumper) wrote : | # |
Clicking on the launcher to reveal only the top most one works.
However the quick alt-tab one does not work.
If I have two terminal windows and one gedit. Focus gedit and quick alt-tab, it raises both terminals.
| Marco Trevisan (Treviño) (3v1n0) wrote : | # |
Probably it is caused by the fact that now we use a very small delay for the Alt+Tab.
A workaround could be to use another time reference to consider an Alt+Tab quick, more than the only window visibility.
I mean, even if the window is shown for 100ms or less, the Alt+Tab is surely a quick one (as there's no time to look to the content of the window).
- 1785. By Brandon Schaefer on 2012-04-06
-
* Merged trunk
| Brandon Schaefer (brandontschaefer) wrote : | # |
I just ended up making a timer called quick_tab_timer_, which will go for 200ms if you hold on to alt for any longer it makes quick_tab = false. Seems like a nice and customizable way.
- 1786. By Brandon Schaefer on 2012-04-06
-
* Added a timer for quick tab
- 1787. By Brandon Schaefer on 2012-04-06
-
* fixed manual test I messed up
- 1788. By Brandon Schaefer on 2012-04-07
-
* Added 2 autopilot test showing quick tab is true when pressed fast enough
- 1789. By Brandon Schaefer on 2012-04-10
-
* merged trunk
- 1790. By Brandon Schaefer on 2012-04-11
-
* merged trunk
| Alex Launi (alexlauni) wrote : | # |
It shouldn't be too difficult to automate the manual tests. Please do not merge this with the manual tests.
- 1791. By Brandon Schaefer on 2012-04-12
-
* Added more autopilot test for quick alt+tab
- 1792. By Brandon Schaefer on 2012-04-13
-
* Add autopilot test for both bugs!
- 1793. By Brandon Schaefer on 2012-04-13
-
* removed random dash '-'
- 1794. By Brandon Schaefer on 2012-04-13
-
* merged trunk
| Brandon Schaefer (brandontschaefer) wrote : | # |
@Alex
Sorry about having the manual test in there. I was trying to get this branch in 5.10 and was rushing to get it done. Never a good sign when it comes to quality. There are now autopilot test for each bug!
- 1795. By Brandon Schaefer on 2012-04-13
-
* Fixed the No new line error diff was reporting
- 1796. By Brandon Schaefer on 2012-04-13
-
* remove extra line
| Brandon Schaefer (brandontschaefer) wrote : | # |
So I guess diff continutes to complain about there not being a new line...I even took the trunk version of Switcher.txt and replaced it and it still gives that problem...
| Marco Trevisan (Treviño) (3v1n0) wrote : | # |
I've just checked this code again, there's a problem with the minimized windows when using the launcher icon.
Don't worry about that Brandon, I'll take care of that ;)
| Brandon Schaefer (brandontschaefer) wrote : | # |
Yeah, I just saw that. At lease we know what design wants now :). Thank you!
- 1797. By Marco Trevisan (Treviño) on 2012-04-14
-
PluginAdapter:
:FocusWindowGro up: add a parameter to define if focusing the on-top window only This allow to be more monitor/VP safe
- 1798. By Marco Trevisan (Treviño) on 2012-04-14
-
unityshell: switcher, use UScreen to get the monitor value.
Not using this can cause inconsistences, due to the fact that compiz
numbers the devices in a different way. - 1799. By Marco Trevisan (Treviño) on 2012-04-14
-
UScreen: allow to get the monitor for a given point
- 1800. By Marco Trevisan (Treviño) on 2012-04-14
-
WindowManager: add GetWindowMonitor method, and use UScreen to fetch it
This now used in PluginAdapter not to have inconsistences.
- 1801. By Marco Trevisan (Treviño) on 2012-04-14
-
SwitcherController: include the switcher monitor when activating a group
- 1802. By Marco Trevisan (Treviño) on 2012-04-14
-
Launcher: if the current launcher is used for all the monitors, don't filter windows per monitor
- 1803. By Marco Trevisan (Treviño) on 2012-04-14
-
BamfLauncherIcon: focus a window if the application is not active on the current monitor
- 1804. By Marco Trevisan (Treviño) on 2012-04-14
-
BamfLauncherIcon: don't consider an unmapped window as one in monitor
- 1805. By Marco Trevisan (Treviño) on 2012-04-14
-
BamfLauncherIcon: Also invisible windows shouldn't be counted as available in monitor
Now the spread works as expected, clicking on each monitor's panel! ;)
- 1806. By Marco Trevisan (Treviño) on 2012-04-14
-
autopilot: fixed the AP test
- 1807. By Marco Trevisan (Treviño) on 2012-04-14
-
SwitcherController: Removing the code for the Quick Alt+Tab, it should behave always at the same way
19:11:04 <JohnLea> so to summarize the above, when a app icon is selected
in Alt-Tab, the most recently focused window (on any monitor, but only in
the current workspace) of that application which is not minimised
should be focused - 1808. By Marco Trevisan (Treviño) on 2012-04-14
-
Merging with branch changes
- 1809. By Marco Trevisan (Treviño) on 2012-04-14
-
PluginAdapter: removing debugging bits
- 1810. By Marco Trevisan (Treviño) on 2012-04-15
-
WindowManager: add method to get the active window.
- 1811. By Marco Trevisan (Treviño) on 2012-04-15
-
unityshell: show the Alt+Tab window in the monitor where is the active window
As per design.
- 1812. By Marco Trevisan (Treviño) on 2012-04-15
-
autopilot, test_switcher: updated against new updates
- 1813. By Marco Trevisan (Treviño) on 2012-04-15
-
autopilot, test_launcher: updated click test to check minimized windows too
Removed debug data
- 1814. By Marco Trevisan (Treviño) on 2012-04-15
-
WindowManager, BamfLauncherIcon: some code cleanup
- 1815. By Marco Trevisan (Treviño) on 2012-04-15
-
UScreen: use GetMonitorAtPos
ition in GetMonitorWithMouse - 1816. By Marco Trevisan (Treviño) on 2012-04-15
-
Launcher: be more clear in comment (yeah?)
- 1817. By Marco Trevisan (Treviño) on 2012-04-15
-
PluginAdapter: avoid to raise and unminimize top_window if already done
- 1818. By Tim Penhey on 2012-04-15
-
Tweaks to the test.
- 1819. By Tim Penhey on 2012-04-15
-
More AP test tweaks.
- 1820. By Tim Penhey on 2012-04-16
-
Assert that the visible window stack is what we expect.
- 1821. By Tim Penhey on 2012-04-16
-
Add window stack assertions to the switcher tests.
- 1822. By Tim Penhey on 2012-04-16
-
Test the alt-tab appears on the monitor that has window focus.


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 :)