#3981 closed task (fixed)
Global gesture to hide/show frame
Reported by: | erikos | Owned by: | erikos |
---|---|---|---|
Priority: | Unspecified by Maintainer | Milestone: | |
Component: | Sugar | Version: | 0.97.x |
Severity: | Blocker | Keywords: | r+, olpc-test-passed |
Cc: | manuq | Distribution/OS: | OLPC |
Bug Status: | Assigned |
Description
Two parts are needed for that:
===toolkit===
We need to add API to allow for tracking global gestures, this will be in the sugar-toolkit-gtk3, the API will be available through SugarExt, similar to the KeyGrabber we listen on the root window for the events. We then filter for gestures recognized by
an event controller.
You can add any event controller of the ones recently
added to the toolkit to be tracked and can pass a
specific area where the starting point of the gesture
should be, it's then allowed to go out of bounds as
it moves.
===shell===
We need to listen on the gesture grabber and hide/show the Frame accordingly. See view/keyhandler.py
Attachments (4)
Change History (12)
comment:1 Changed 11 years ago by erikos
comment:2 Changed 11 years ago by erikos
Build sugar-toolkit-gtk3 on the XO
su yum install --nogpg git make alsa-lib-devel gettext-devel gobject-introspection-devel gtk3-devel intltool libSM-devel librsvg2-devel pygobject2-devel pygtk2-codegen python-devel git clone git://git.sugarlabs.org/sugar-toolkit-gtk3/sugar-toolkit-gtk3.git
comment:3 Changed 11 years ago by manuq
- Cc manuq added
comment:4 Changed 11 years ago by manuq
Impressive. Show frame gesture works great, is easy to get used to it in five minutes for me, might be two minutes for a kid :) Being right-handed, is easier for me to do the gesture from the top or from the left side of the screen.
In portrait mode, I can't raise the frame from the bottom nor from the right side, relative to the current screen orientation, however much I try.
comment:5 Changed 11 years ago by erikos
Sugar 0.97.6 does ship the gesture support the first time. http://git.sugarlabs.org/sugar/mainline/commit/8fcf60b858341cfeeefbb23ed27f0faac50abda2
One issue in the current implementation is that you can hide the frame as well with the show gesture. Secondly, the hide gesture is hard to trigger.
Martin raised the point that we could only use the gesture at the top (toolbar) to minimize collisions with the activity canvas. Related to that Gary, spotted #3994.
comment:6 Changed 11 years ago by erikos
- Keywords r+ olpc-test-pending added
- Resolution set to fixed
- Status changed from new to closed
Pushed: http://git.sugarlabs.org/sugar/mainline/commit/536204c2a3f742a3d62c0c94e975c3a47ce6c12f
After testing and running into several trickier cases with the Activity canvas (SL #3994) we agreed on using only the area at the top to trigger the Frame. The same gesture is used to show/hide the Frame as we discovered that swiping towards the bezel is not as pleasant.
comment:7 Changed 11 years ago by greenfeld
- Keywords olpc-test-passed added; olpc-test-pending removed
Swiping directly down from the top of the screen shows and hides the Sugar frame on XO-4 in OLPC 13.1.0 os7 without triggering button presses in the frame.
The toolkit bits did land, see http://git.sugarlabs.org/sugar-toolkit-gtk3/sugar-toolkit-gtk3/commit/c5fe8a26f66c86274dc3c6f459facc1def785a7a and the following commits. There is still an issue with some false recognizes Carlos is investigating.