Merge lp:~3v1n0/unity/overlays-grabs-handling into lp:unity
Status: | Merged |
---|---|
Approved by: | Marco Trevisan (Treviño) |
Approved revision: | no longer in the source branch. |
Merged at revision: | 3798 |
Proposed branch: | lp:~3v1n0/unity/overlays-grabs-handling |
Merge into: | lp:unity |
Prerequisite: | lp:~3v1n0/unity/lockscreen-keys-disable |
Diff against target: |
332 lines (+81/-54) 6 files modified
dash/DashController.cpp (+30/-25) dash/DashController.h (+3/-5) dash/DashView.cpp (+2/-2) launcher/LauncherController.cpp (+0/-12) plugins/unityshell/src/unityshell.cpp (+45/-10) plugins/unityshell/src/unityshell.h (+1/-0) |
To merge this branch: | bzr merge lp:~3v1n0/unity/overlays-grabs-handling |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Brandon Schaefer (community) | Approve | ||
Review via email: mp+217630@code.launchpad.net |
This proposal supersedes a proposal from 2014-04-25.
Commit message
UnityScreen: don't try to show Dash/Hud if the screen is grabbed
Also move the dash opening out from LauncherController, and get rid of UBus
as first initialization source, as it can only slow things down here.
Description of the change
Try to get the grab to double-check if something is already grabbing the keyboard (we could also check for pointer grabs, but here I don't see it much needed).
Although this is a round-trip request to the X server from my measurements it seems to take less than 1ms, and thus it seems acceptable.
Now we only try to show our overlays if there are no grabs around, and if there are we give 2 seconds for an ungrab-event to arrive (since we might need to wait a scale animation or a key-ungrab to happen), before giving up for good.
Also, in case we are unable to show them, we pass the key press trough.
PASSED: Continuous integration, rev:3792 jenkins. qa.ubuntu. com/job/ unity-ci/ 897/ jenkins. qa.ubuntu. com/job/ unity-trusty- amd64-ci/ 433 jenkins. qa.ubuntu. com/job/ unity-trusty- armhf-ci/ 429 jenkins. qa.ubuntu. com/job/ unity-trusty- i386-ci/ 431
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/unity- ci/897/ rebuild
http://