windowManager: Allow disabling touchpad workspace switch action
Just like actual ClutterActions, it can make sense to temporarily disable the touchpad action, so add an appropriate property. https://gitlab.gnome.org/GNOME/gnome-shell/issues/516
This commit is contained in:
parent
de6512be1a
commit
e83f2344f6
@ -459,10 +459,24 @@ var TouchpadWorkspaceSwitchAction = class {
|
|||||||
constructor(actor) {
|
constructor(actor) {
|
||||||
this._dx = 0;
|
this._dx = 0;
|
||||||
this._dy = 0;
|
this._dy = 0;
|
||||||
|
this._enabled = true;
|
||||||
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'});
|
this._touchpadSettings = new Gio.Settings({schema_id: 'org.gnome.desktop.peripherals.touchpad'});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get enabled() {
|
||||||
|
return this._enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
set enabled(enabled) {
|
||||||
|
if (this._enabled == enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._enabled = enabled;
|
||||||
|
if (!enabled)
|
||||||
|
this.emit('cancel');
|
||||||
|
}
|
||||||
|
|
||||||
_checkActivated() {
|
_checkActivated() {
|
||||||
let dir;
|
let dir;
|
||||||
|
|
||||||
@ -493,6 +507,9 @@ var TouchpadWorkspaceSwitchAction = class {
|
|||||||
if ((allowedModes & Main.actionMode) == 0)
|
if ((allowedModes & Main.actionMode) == 0)
|
||||||
return Clutter.EVENT_PROPAGATE;
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
|
||||||
|
if (!this._enabled)
|
||||||
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
|
||||||
if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) {
|
if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) {
|
||||||
let [dx, dy] = event.get_gesture_motion_delta();
|
let [dx, dy] = event.get_gesture_motion_delta();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user