Only scroll one page per trackpad (two-finger or edge) swipe [$115]

Bug #815646 reported by Danielle Foré
76
This bug affects 17 people
Affects Status Importance Assigned to Milestone
Slingshot
Fix Committed
Medium
Unassigned

Bug Description

Slingshot should only scroll one page per swipe when using two fingers. Currently, swiping to a specific page becomes more difficult the more pages you have, as each tiny increment of the two-finger swipe is actually being interpreted as a standard scrollwheel step.

Changed in slingshot:
status: New → Confirmed
Changed in slingshot:
importance: Undecided → Medium
Revision history for this message
Giulio Collura (gcollura) wrote :

What's the expected behavior?

Changed in slingshot:
milestone: none → 0.8
Revision history for this message
David Gomes (davidgomes) wrote :

I think this has already been fixed.

Changed in slingshot:
status: Confirmed → Fix Committed
Revision history for this message
Cassidy James Blaede (cassidyjames) wrote :
Revision history for this message
Cassidy James Blaede (cassidyjames) wrote : Re: [Multitouch] Only scroll one page per (two-finger) swipe

Tested and it's not fixed. Edited the description to be more clear and re-opening the bug.

summary: - only scroll one page per swipe
+ [Multitouch] Only scroll one page per (two-finger) swipe
description: updated
Changed in slingshot:
status: Fix Committed → Confirmed
tags: added: multitouch
Revision history for this message
Cassidy James Blaede (cassidyjames) wrote :

Now that GTK3 has smooth 1:1 touch scrolling, we could just allow the user to freely scroll the pages horizontally and then "snap" to the closest page when they stop scrolling. This would likely be easier than doing a custom implementation with LibGrip.

summary: - [Multitouch] Only scroll one page per (two-finger) swipe
+ Only scroll one page per trackpad (two-finger or edge) swipe
tags: added: scroll touch trackpad
Revision history for this message
Danielle Foré (danrabbit) wrote : Re: Only scroll one page per trackpad (two-finger or edge) swipe

Cassidy, I'd still be more inclined to have a single swipe = a single page turn. The problem would still remain that the more pages you have the harder it is to swipe to a specific page.

Though yes, I do believe it would be much smoother and feel more responsive if we did "snap" to the next page

Revision history for this message
Arturo Torres Sánchez (r2d2.art2005) wrote :

At least with my touchpad, each swipe sends a button event. Maybe we can ask for many buttons presses before the page is changed, thus slowing down the paging.

Changed in slingshot:
milestone: luna-beta1 → luna-beta2
Revision history for this message
Danielle Foré (danrabbit) wrote :

Removing from the beta2 milestone since it doesn't seem likely we'll fix this any time soon. Hopefully we can get it fixed for Luna +1 as touch becomes more of a priority.

Changed in slingshot:
milestone: luna-beta2 → none
Cody Garver (codygarver)
Changed in slingshot:
milestone: none → luna+1-beta1
Cody Garver (codygarver)
Changed in slingshot:
milestone: 0.3-beta1 → luna-beta3
summary: - Only scroll one page per trackpad (two-finger or edge) swipe
+ Only scroll one page per trackpad (two-finger or edge) swipe [$50]
Revision history for this message
Tom Beckmann (tombeckmann) wrote : Re: Only scroll one page per trackpad (two-finger or edge) swipe [$50]

We can use the smooth scroll event to get a more accurate representation of touchpad scroll events without interfering with normal scroll. We could even use those infos to get pixel perfect scrolling through pages as suggested by Cassidy, we would however need to drop the GtkStack for the view again in that case and implement our own animations. If we were to go with the latter, would the division into pages still make sense? Would we add a small gap between the pages to make it more obvious?

Revision history for this message
Cassidy James Blaede (cassidyjames) wrote :

Tom: Yes, we still want to divide into pages, and I think a small whitespace margin would be appropriate for signaling this.

Revision history for this message
Danielle Foré (danrabbit) wrote :

Honestly, I don't think spending the time to make it work with a scrolled view is worth it. This is something we're going to want to get right in so many different apps as a navigational feature. Personally, I think it makes the most sense to work on implementing this as a feature of gtk.stack or maybe gtk.flowbox upstream.

The biggest bug here is that scrolling just a tiny bit switches through pages much too quickly. even with just 3 pages it's extremely hard to only swipe 1 page. This really defeats the purpose of using a gesture, which is to do something more quickly than manually pressing buttons and such.

In the ideal world, moving your fingers all the way across from one side of the trackpad to the other only moves us over by one page. One swipe = one page turn. That's the really critical interaction issue here.

Making this really smooth by having the page track 1:1 with your fingers is beautiful icing on the cake, but not if we're implementing it in a way that we're not going to be able to consistently replicate.

Revision history for this message
Danielle Foré (danrabbit) wrote :

Gestures has landed in Gtk 3.14. I imagine we should probably use the swipe method there for this instead of doing funny things with scrolls.

Changed in slingshot:
milestone: isis-beta1 → isis+1-beta1
Avi Romanoff (aroman)
summary: - Only scroll one page per trackpad (two-finger or edge) swipe [$50]
+ Only scroll one page per trackpad (two-finger or edge) swipe [$65]
Revision history for this message
Aneurin Hall (aneurin-hall) wrote : Re: Only scroll one page per trackpad (two-finger or edge) swipe [$65]

now that freya is shipping the appropriate gtk+ can this be assigned a milestone?

Cody Garver (codygarver)
Changed in slingshot:
assignee: nobody → The Lemon Man (lemonboy)
status: Confirmed → In Progress
Revision history for this message
Danielle Foré (danrabbit) wrote :
summary: - Only scroll one page per trackpad (two-finger or edge) swipe [$65]
+ Only scroll one page per trackpad (two-finger or edge) swipe [$115]
tags: added: bounty
Revision history for this message
Cody Garver (codygarver) wrote :

There is no code associated with this bug report so I'm moving it back to Confirmed status

Changed in slingshot:
assignee: The Lemon Man (lemonboy) → nobody
status: In Progress → Confirmed
Changed in slingshot:
milestone: loki-beta1 → loki-rc1
Revision history for this message
Ben (benwaffle) wrote :

GtkGesture only works with trackpads on wayland. On X its used for touchscreens.

Changed in slingshot:
milestone: loki-rc1 → loki+1-beta1
Changed in slingshot:
status: Confirmed → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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