Merge lp:~brandontschaefer/unity/alt+tab-mouse into lp:unity
Status: | Merged |
---|---|
Approved by: | Brandon Schaefer on 2013-08-11 |
Approved revision: | 3444 |
Merged at revision: | 3462 |
Proposed branch: | lp:~brandontschaefer/unity/alt+tab-mouse |
Merge into: | lp:unity |
Diff against target: |
1214 lines (+599/-73) 16 files modified
launcher/StandaloneSwitcher.cpp (+0/-1) launcher/SwitcherController.cpp (+59/-23) launcher/SwitcherController.h (+1/-2) launcher/SwitcherControllerImpl.h (+2/-1) launcher/SwitcherModel.cpp (+6/-0) launcher/SwitcherModel.h (+1/-0) launcher/SwitcherView.cpp (+241/-6) launcher/SwitcherView.h (+35/-3) plugins/unityshell/src/unityshell.cpp (+73/-35) plugins/unityshell/src/unityshell.h (+3/-0) tests/autopilot/unity/emulators/switcher.py (+14/-0) tests/autopilot/unity/tests/test_switcher.py (+99/-0) tests/test_switcher_controller.cpp (+28/-0) unity-shared/AbstractIconRenderer.h (+15/-1) unity-shared/LayoutSystem.cpp (+14/-0) unity-shared/LayoutSystem.h (+8/-1) |
To merge this branch: | bzr merge lp:~brandontschaefer/unity/alt+tab-mouse |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Marco Trevisan (Treviño) | 2013-07-16 | Approve on 2013-08-19 | |
PS Jenkins bot (community) | continuous-integration | Approve on 2013-08-12 | |
Christopher Townsend | Approve on 2013-08-09 | ||
Review via email:
|
Commit message
Adds the ability to use the mouse in the switcher.
Description of the change
We use compiz to grab the screen, and from there send all the grabbed events down to nux, which then nux emits them back up to the SwitcherView.
From there we have to figure out where the mouse is located x/y, if its over an icon change selection, same with detail mode. As the SwitcherView takes up most of the screen.
Right clicking toggles detail mode.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3432
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3433
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3435
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Marco Trevisan (Treviño) (3v1n0) wrote : | # |
I like a lot the change and the cleanup in event handling for the switcher we had. Even more that we can reuse some code we wrote to get things work easily.
Some comments.
It would be nice if you could abastract a little these signal names:
right_clicked_icon (detail request?)
mouse_moving_
131 + introspection_
Do we really need to keep them around? Why not just a local var?
Anyway:
135 + for (auto target : render_targets_)
322 + int half_size = icon_size.Get() / 2 + 10;
10? Magic number? :)
use auto const& please.
Also there are other behaviors to fix:
* The logic of the scroll wheel, as now here it's inverted to the one we had before.
* The click activation, as it should make sure that you activate an icon only if the mouse-up happened where mouse down happened before.
* The detail selection doesn't work on secondary monitors.
* It would be nice to remove the spread offset (or at least to define it in the controller, just once)
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3436
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
Christopher Townsend (townsend) wrote : | # |
Jenkins failures are due to an undefined member:
/tmp/buildd/
/tmp/buildd/
controller-
^
Marco Trevisan (Treviño) (3v1n0) wrote : | # |
Good... Some comments:
124 + monitor_geo.x += XY_OFFSET;
125 + monitor_geo.y += XY_OFFSET;
126 + monitor_geo.width -= WH_OFFSET;
127 + monitor_geo.height -= WH_OFFSET;
What about monitor_
139 + view_->
Since both have a bool as parameter, you can just use sigc::mem_fun or std::bind there...
994
LayoutWindow::Ptr layout_window(0);
No need to set it to 0, however you can also just return inside the loop and return nullptr otherwise, g++ will be smart enough to convert.
UnityScreen::get (screen)
Get rid of the spaces
825 + LayoutWindow::Ptr const &layout_window = UnityScreen:
826 + GetSwitcherDeta
One line please (in case use auto const&).
Some code in lines 659-673 and 681-696 (middle click mouse handling in UnityWindow) is duplicated, what about adding a function to check if the position hits a window thumbnail (that basically checks the case of the switcher and of the scale).
I've also incurred into a regression: if I select the top-left window in detail mode (or the only one existent in case we have just one), then the switcher selects the window but it doesn't hide.
Finally, this not happen always, but when I do click -> move the mouse outside the clicked area -> release, the switcher closes
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3437
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3438
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3439
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3440
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Christopher Townsend (townsend) wrote : | # |
I'm running all of the unity.tests.
The stack trace shows the crash manifests itself in unity/launcher/
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3441
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3442
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3443
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3444
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Christopher Townsend (townsend) wrote : | # |
The unity.tests.
Christopher Townsend (townsend) wrote : | # |
Well, I think the failing AP test is caused by something on my machine. It failed twice in a row, then after that, has passed at least 5 times with no issue.
Since Marco has weighed in and all of his concerns are addressed and now all AP tests pass, I'm going to approve this thing.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Marco Trevisan (Treviño) (3v1n0) wrote : | # |
Cool, I see all the changes I requested are in the merged version, nice! :)
FAILED: Continuous integration, rev:3431 jenkins. qa.ubuntu. com/job/ unity-ci/ 253/ jenkins. qa.ubuntu. com/job/ unity-saucy- amd64-ci/ 142/console jenkins. qa.ubuntu. com/job/ unity-saucy- armhf-ci/ 140/console jenkins. qa.ubuntu. com/job/ unity-saucy- i386-ci/ 141/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ unity-ci/ 253/rebuild
http://