Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

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

0001-Handling-gestures-to-show-hide-the-frame.patch (4.9 KB) - added by erikos 9 years ago.
Implementation in the shell (Frame hide missing)
global_gesture.py (759 bytes) - added by erikos 9 years ago.
python test program
inhibit.patch (1.4 KB) - added by erikos 9 years ago.
try to avoid X crashes
0001-Frame-gesture-only-make-the-top-area-recognizing-the.patch (6.3 KB) - added by erikos 9 years ago.
Only the top area to invoke gesture

Download all attachments as: .zip

Change History (12)

comment:1 Changed 9 years ago by erikos

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.

Changed 9 years ago by erikos

Implementation in the shell (Frame hide missing)

Changed 9 years ago by erikos

python test program

Changed 9 years ago by erikos

try to avoid X crashes

comment:2 Changed 9 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 9 years ago by manuq

  • Cc manuq added

comment:4 Changed 9 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 9 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.

Changed 9 years ago by erikos

Only the top area to invoke gesture

comment:6 Changed 9 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 8 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.

comment:8 Changed 8 years ago by dnarvaez

  • Milestone 0.98 deleted

Milestone 0.98 deleted

Note: See TracTickets for help on using tickets.