After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 778554 - MetaInputSettings: allow edge scrolling without 2fg capable devices
MetaInputSettings: allow edge scrolling without 2fg capable devices
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2017-02-13 13:17 UTC by Rui Matos
Modified: 2017-02-16 15:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
MetaInputSettings: allow edge scrolling without 2fg capable devices (8.24 KB, patch)
2017-02-13 13:17 UTC, Rui Matos
committed Details | Review

Comment 1 Rui Matos 2017-02-13 13:17:40 UTC
Created attachment 345624 [details] [review]
MetaInputSettings: allow edge scrolling without 2fg capable devices

We should only force edge scrolling off if two finger is enabled *and*
we actually have two finger capable devices.
Comment 2 Florian Müllner 2017-02-16 14:42:19 UTC
Review of attachment 345624 [details] [review]:

One question, otherwise LGTM

::: src/backends/meta-input-settings.c
@@ +497,2 @@
   /* If both are enabled we prefer two finger. */
+  if (edge_scroll_enabled && two_finger_scroll_enabled && two_finger_scroll_available)

Is this sufficient, or do we also need to make sure that 2fg scroll is disabled?
Comment 3 Rui Matos 2017-02-16 15:08:31 UTC
(In reply to Florian Müllner from comment #2)
> Is this sufficient, or do we also need to make sure that 2fg scroll is
> disabled?

If 2fg isn't available, disabling it is a nop.

We don't allow both methods to be enabled at the same time because libinput doesn't allow it. But it does allow no scrolling so we allow users to disable both scroll methods in case that's what you mean. I'm not sure that's a good UX but it was like that before and is orthogonal to this issue.
Comment 4 Florian Müllner 2017-02-16 15:15:18 UTC
(In reply to Rui Matos from comment #3)
> (In reply to Florian Müllner from comment #2)
> > Is this sufficient, or do we also need to make sure that 2fg scroll is
> > disabled?
> 
> If 2fg isn't available, disabling it is a nop.

And so is enabling it I assume? What I meant to ask is: If both methods are enabled and we don't disable edge-scroll because 2fg scroll is unavailable, will we end up with the (illegal) setting of two conflicting methods being enabled at the same time?
Comment 5 Rui Matos 2017-02-16 15:26:13 UTC
(In reply to Florian Müllner from comment #4)
> (In reply to Rui Matos from comment #3)
> > If 2fg isn't available, disabling it is a nop.
> 
> And so is enabling it I assume?

Yes.

> What I meant to ask is: If both methods are
> enabled and we don't disable edge-scroll because 2fg scroll is unavailable,
> will we end up with the (illegal) setting of two conflicting methods being
> enabled at the same time?

In gsettings, yes both might be enabled at the same time. g-c-c tries to avoid that case but people can set it some other way. But if that happens, the backend vfuncs that pass the values to libinput will refuse setting it because they also check if it's available.
Comment 6 Rui Matos 2017-02-16 15:53:03 UTC
Attachment 345624 [details] pushed as 9092390 - MetaInputSettings: allow edge scrolling without 2fg capable devices