windowManager: make TouchpadWorkspaceSwitchAction respect natural-scroll
Instead of defaulting to a natural scroll behavior, have the workspace switch action use the natural-scroll setting in org.gnome.peripherals.touchpad to determine the correct direction of travel when swiping. 4 finger swipes will then match the behavior of the rest of the UI. Reference: https://gitlab.gnome.org/GNOME/gnome-shell/issues/516
This commit is contained in:
parent
367b1c0627
commit
118cab1766
@ -478,6 +478,7 @@ var TouchpadWorkspaceSwitchAction = new Lang.Class({
|
|||||||
this._dx = 0;
|
this._dx = 0;
|
||||||
this._dy = 0;
|
this._dy = 0;
|
||||||
actor.connect('captured-event', this._handleEvent.bind(this));
|
actor.connect('captured-event', this._handleEvent.bind(this));
|
||||||
|
this._touchpadSettings = new Gio.Settings({schema_id: 'org.gnome.desktop.peripherals.touchpad'});
|
||||||
},
|
},
|
||||||
|
|
||||||
_checkActivated() {
|
_checkActivated() {
|
||||||
@ -515,7 +516,11 @@ var TouchpadWorkspaceSwitchAction = new Lang.Class({
|
|||||||
|
|
||||||
// Scale deltas up a bit to make it feel snappier
|
// Scale deltas up a bit to make it feel snappier
|
||||||
this._dx += dx * 2;
|
this._dx += dx * 2;
|
||||||
|
if(!(this._touchpadSettings.get_boolean('natural-scroll')))
|
||||||
|
this._dy -= dy * 2;
|
||||||
|
else
|
||||||
this._dy += dy * 2;
|
this._dy += dy * 2;
|
||||||
|
|
||||||
this.emit('motion', this._dx, this._dy);
|
this.emit('motion', this._dx, this._dy);
|
||||||
} else {
|
} else {
|
||||||
if ((event.get_gesture_phase() == Clutter.TouchpadGesturePhase.END && ! this._checkActivated()) ||
|
if ((event.get_gesture_phase() == Clutter.TouchpadGesturePhase.END && ! this._checkActivated()) ||
|
||||||
|
Loading…
Reference in New Issue
Block a user