Add uTouch gesture support to EOG

Bug #823640 reported by Stephen M. Webb on 2011-08-10
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Eye of GNOME
Confirmed
Wishlist
eog (Ubuntu)
Wishlist
Stephen M. Webb

Bug Description

EOG needs basic uTouch gesture support in Oneiric. This patch links some eog viewing manipulations to simple gestures.

On touchpads and touchscreens:
* Pinching or spreading with two fingers zooms in and out
* Rotating with two fingers snaps the image to 90 degree angles

On touchscreens:
* Dragging with two finger moves (scrolls) the image

Related branches

description: updated
Chase Douglas (chasedouglas) wrote :
Changed in eog (Ubuntu):
importance: Undecided → Wishlist
assignee: nobody → Stephen M. Webb (bregma)
Jussi Pakkanen (jpakkane) wrote :

The patch and description are not in sync. The description says that image scrolling happens with one finger touch screen drags and two finger touchpad drags. The only drag gesture subscription call looks like this:

++ grip_gesture_manager_register_window (manager,
++ widget,
++ GRIP_GESTURE_DRAG,
++ GRIP_DEVICE_TOUCHSCREEN,
++ 2,
++ eog_gesture_event,
++ NULL, NULL);

That is, only two finger drags on touchscreens drag the image.

Other than that it looks fine.

Sebastien Bacher (seb128) wrote :

thank you for your work there, some comments:

- how likely is it that upstream will take that work? I guess that since they didn't approve grip as an optional depends and will not do so until it's done in a way the gtk team is happy with? If the patch will not go upstream soon please prefix the ubuntu specific functions to have an ubuntu_ prefix, it will make easier to figure in gdb trace if the issue is in ubuntu code for example and avoid some confusion
- could you get the pinch to work without changing the default scroll wheel behaviour? it's quite handy for mouse use to be able to zoom and unzoom easily
- if you want to change a default gsettings key don't patch the schemas this way, the way to do that is to add an eog.gsettings-override in the debian directory, see man dh_installgsettings

out of those the patch seems fine but breaking mouse usuability is sort of a blocker

Stephen M. Webb (bregma) wrote :

Upstream has indicated they are not averse to accepting our work but we have not yet submitted it due to project timing issues. I can prefix the functions if you still think it's a good idea.

With scroll-to-zoom enabled pinch-to-zoom becomes unusable with touchpads since the underlying hardware is detecting scroll gestures during pinch gestures and the app becomes hopelessly confused and reacts with cheezy 1970s sci-fi effects.

The version of EOG in previous Ubuntu releases did not have scroll-to-zoom enabled by default. This patch reverts to that behaviour so there is no functional regression and gestures work. I do not have a problem undoing that aspect of the patch and simply documenting that using your touchpad will require the installation of a dconf settings app and using that to change settings.

Sebastien Bacher (seb128) wrote :

> Upstream has indicated they are not averse to accepting our work but we have not yet submitted it due to project timing issues. I can prefix the functions if you still think it's a good idea.

better to do it for now yes, those are not public api and easy enough to rename when submitting to upstream when we do that

> With scroll-to-zoom enabled pinch-to-zoom becomes unusable with touchpads since the underlying hardware is detecting scroll gestures during pinch gestures

I'm not sure to understand why changing the behaviour between zoom and scroll fix that issue, do you mean that instead of conflicting zoom you will get scrolling while zooming? Isn't that confusing as well?

> The version of EOG in previous Ubuntu releases did not have scroll-to-zoom enabled by default. This patch reverts to that behaviour so there is no functional regression and gestures work. I do not have a problem undoing that aspect of the patch and simply documenting that using your touchpad will require the installation of a dconf settings app and using that to change settings.

Right, but it was changed to be the default and it's probably for a reason ;-) It seems much easier to zoom in and out using the mouse that having to select toolbar options and click, also vertical scrolling with the mouse tends to be useless because you can't to horizontal scrolling on most mouses which you are likely going to need, better to click and dnd for that

If we can get the 2 features to conflict I think we should still default to the settings which make sense for mouse users because that's what most Ubuntu users still run

description: updated
Chase Douglas (chasedouglas) wrote :

Hi Seb,

The function names have been mangled so it's clear they are ubuntu-added.

What we saw with the scroll to zoom feature was an issue with what the user expects. Only one of scrolling and pinching can occur at a time due to the architecture of uTouch. If the user intends to perform a zoom, but a scroll is triggered instead, they will see zooming behavior that doesn't match what they expect. It makes the pinch to zoom feel quirky. However, we changed the threshold values a bit in utouch-grail yesterday, and it appears the new thresholds have helped this issue. The uTouch stack seems to be more accurately differentiating between a scroll and a pinch now. We have reverted the scroll-to-zoom change in the debdiff.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package eog - 3.1.4-0ubuntu2

---------------
eog (3.1.4-0ubuntu2) oneiric; urgency=low

  * Added libgrip gesture support (LP: #823640)
    - added debian/patches/02_grip_gestures.patch
    - adds pinch-to-zoom, rotate, and drag gestures
    - adds build-depends on libgrip-dev
 -- <email address hidden> (Stephen M. Webb) Wed, 10 Aug 2011 10:10:37 -0400

Changed in eog (Ubuntu):
status: New → Fix Released
Changed in eog:
importance: Unknown → Medium
status: Unknown → New
Changed in eog:
status: New → Confirmed
Changed in eog:
importance: Medium → Wishlist
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.