Merge lp:~lukas-kde/unity8/hideCursorFullscreen into lp:unity8
- hideCursorFullscreen
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Albert Astals Cid |
Approved revision: | 2611 |
Merged at revision: | 2665 |
Proposed branch: | lp:~lukas-kde/unity8/hideCursorFullscreen |
Merge into: | lp:unity8 |
Prerequisite: | lp:~mzanetti/unity8/unified-stages |
Diff against target: |
78 lines (+40/-0) 3 files modified
qml/Shell.qml (+10/-0) tests/mocks/Cursor/Cursor.qml (+2/-0) tests/qmltests/tst_Shell.qml (+28/-0) |
To merge this branch: | bzr merge lp:~lukas-kde/unity8/hideCursorFullscreen |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity8 CI Bot | continuous-integration | Needs Fixing | |
Albert Astals Cid (community) | Approve | ||
Review via email: mp+307421@code.launchpad.net |
This proposal supersedes a proposal from 2016-09-01.
Commit message
Hide the cursor for fullscreen apps after 3 seconds of inactivity
Description of the change
Hide the cursor for fullscreen apps after 3 seconds of inactivity.
The cursor is revealed again when the mouse is moved.
To test, launch the webbrowser app, navigate to youtube, play your favorite video in fullscreen
* Are there any related MPs required for this MP to build/function as expected? Please list.
lp:~mzanetti/unity8/unified-stages
* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A
* If you changed the UI, has there been a design review?
N/A, following unity7 behavior
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2606
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2607
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
UNSTABLE: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal | # |
Do we need a test for this?
Is there a bug/Design card/something where it says this is a wanted feature?
Lukáš Tinkl (lukas-kde) wrote : Posted in a previous version of this proposal | # |
> Do we need a test for this?
I'll try to think of something, yeah
> Is there a bug/Design card/something where it says this is a wanted feature?
Well it's just filling the gaps for missing features compared to u7; I'm asking Paty for an informal UX approval as I'm writing this
Lukáš Tinkl (lukas-kde) wrote : Posted in a previous version of this proposal | # |
Added the test, Paty's response:
Paty Davila, [29.09.16 13:28]
so go ahead, I think it's nice to have : )
Paty Davila, [29.09.16 13:29]
i don't see anything else that I could question or object
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2608
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
PASSED: Continuous integration, rev:2609
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Unity8 CI Bot (unity8-ci-bot) wrote : Posted in a previous version of this proposal | # |
FAILED: Continuous integration, rev:2610
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Albert Astals Cid (aacid) wrote : Posted in a previous version of this proposal | # |
* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes
* Did CI run pass? If not, please explain why.
jenkins failing on its usual java stuff
Lukáš Tinkl (lukas-kde) wrote : | # |
Resubmitted on top of lp:~mzanetti/unity8/unified-stages
Albert Astals Cid (aacid) wrote : | # |
Same code as before
Unity8 CI Bot (unity8-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:2611
https:/
Executed test runs:
SUCCESS: https:/
UNSTABLE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Preview Diff
1 | === modified file 'qml/Shell.qml' |
2 | --- qml/Shell.qml 2016-10-03 11:16:17 +0000 |
3 | +++ qml/Shell.qml 2016-10-03 11:16:18 +0000 |
4 | @@ -697,8 +697,16 @@ |
5 | } |
6 | } |
7 | |
8 | + Timer { |
9 | + id: cursorHidingTimer |
10 | + interval: 3000 |
11 | + running: panel.focusedSurfaceIsFullscreen && cursor.opacity > 0 |
12 | + onTriggered: cursor.opacity = 0; |
13 | + } |
14 | + |
15 | Cursor { |
16 | id: cursor |
17 | + objectName: "cursor" |
18 | visible: shell.hasMouse |
19 | z: itemGrabber.z + 1 |
20 | topBoundaryOffset: panel.panelHeight |
21 | @@ -772,6 +780,8 @@ |
22 | mouseNeverMoved = false; |
23 | cursor.opacity = 1; |
24 | } |
25 | + |
26 | + Behavior on opacity { UbuntuNumberAnimation {} } |
27 | } |
28 | |
29 | // non-visual object |
30 | |
31 | === modified file 'tests/mocks/Cursor/Cursor.qml' |
32 | --- tests/mocks/Cursor/Cursor.qml 2016-09-07 08:36:59 +0000 |
33 | +++ tests/mocks/Cursor/Cursor.qml 2016-10-03 11:16:18 +0000 |
34 | @@ -29,4 +29,6 @@ |
35 | signal pushedBottomRightCorner(real amount, int buttons) |
36 | signal pushStopped() |
37 | signal mouseMoved() |
38 | + |
39 | + onMouseMoved: opacity = 1; |
40 | } |
41 | |
42 | === modified file 'tests/qmltests/tst_Shell.qml' |
43 | --- tests/qmltests/tst_Shell.qml 2016-10-03 11:16:17 +0000 |
44 | +++ tests/qmltests/tst_Shell.qml 2016-10-03 11:16:18 +0000 |
45 | @@ -2733,5 +2733,33 @@ |
46 | tryCompare(dashAppDelegate, "y", initialY); |
47 | SurfaceManager.inputMethodSurface.state = oldOSKState; |
48 | } |
49 | + |
50 | + function test_cursorHidingWithFullscreenApp() { |
51 | + loadShell("desktop"); |
52 | + shell.usageScenario = "desktop"; |
53 | + waitForRendering(shell); |
54 | + swipeAwayGreeter(); |
55 | + |
56 | + // load some fullscreen app |
57 | + var cameraSurfaceId = topLevelSurfaceList.nextId; |
58 | + var cameraApp = ApplicationManager.startApplication("camera-app"); |
59 | + waitUntilAppWindowIsFullyLoaded(cameraSurfaceId); |
60 | + |
61 | + var cursor = findChild(shell, "cursor"); |
62 | + verify(cursor); |
63 | + tryCompare(cursor, "opacity", 1); |
64 | + |
65 | + // let the timer kick in and verify the cursor got hidden |
66 | + wait(3000); |
67 | + tryCompare(cursor, "opacity", 0); |
68 | + |
69 | + // simulate moving the mouse, check the cursor is visible again |
70 | + cursor.mouseMoved(); |
71 | + tryCompare(cursor, "opacity", 1); |
72 | + |
73 | + // let the timer kick in again and verify the cursor got hidden |
74 | + wait(3000); |
75 | + tryCompare(cursor, "opacity", 0); |
76 | + } |
77 | } |
78 | } |
FAILED: Continuous integration, rev:2605 /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/2083/ /unity8- jenkins. ubuntu. com/job/ build/2729/ console /unity8- jenkins. ubuntu. com/job/ build-0- fetch/2757 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= vivid+overlay/ 2630 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial+ overlay/ 2630 /unity8- jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= yakkety/ 2630 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 2622 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 2622/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 2622 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 2622/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 2622/console /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 2622 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 2622/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 2622 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 2622/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 2622 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 2622/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 2622 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 2622/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 2622 /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 2622/artifact/ output/ *zip*/output. zip /unity8- jenkins. ubuntu. com/job/ build-2- binpkg/ arch=i386, release= yakkety/ 2622/console
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
Click here to trigger a rebuild: /unity8- jenkins. ubuntu. com/job/ lp-unity8- ci/2083/ rebuild
https:/