workspacesView: Fix activating empty workspaces
By default, gesture actions no longer wait for the dnd threshold to be reached before triggering, which breaks our mixing of click- and pan actions. Fix this by only panning after reaching the threshold and letting the click action go through if the pan is cancelled. https://bugzilla.gnome.org/show_bug.cgi?id=722417
This commit is contained in:
parent
65ff947b5e
commit
11d8640ba6
@ -405,7 +405,7 @@ const WorkspacesDisplay = new Lang.Class({
|
|||||||
Main.overview.addAction(clickAction);
|
Main.overview.addAction(clickAction);
|
||||||
this.actor.bind_property('mapped', clickAction, 'enabled', GObject.BindingFlags.SYNC_CREATE);
|
this.actor.bind_property('mapped', clickAction, 'enabled', GObject.BindingFlags.SYNC_CREATE);
|
||||||
|
|
||||||
let panAction = new Clutter.PanAction();
|
let panAction = new Clutter.PanAction({ threshold_trigger_edge: Clutter.GestureTriggerEdge.AFTER });
|
||||||
panAction.connect('pan', Lang.bind(this, this._onPan));
|
panAction.connect('pan', Lang.bind(this, this._onPan));
|
||||||
panAction.connect('gesture-begin', Lang.bind(this, function() {
|
panAction.connect('gesture-begin', Lang.bind(this, function() {
|
||||||
for (let i = 0; i < this._workspacesViews.length; i++)
|
for (let i = 0; i < this._workspacesViews.length; i++)
|
||||||
@ -413,7 +413,6 @@ const WorkspacesDisplay = new Lang.Class({
|
|||||||
return true;
|
return true;
|
||||||
}));
|
}));
|
||||||
panAction.connect('gesture-cancel', Lang.bind(this, function() {
|
panAction.connect('gesture-cancel', Lang.bind(this, function() {
|
||||||
clickAction.release();
|
|
||||||
for (let i = 0; i < this._workspacesViews.length; i++)
|
for (let i = 0; i < this._workspacesViews.length; i++)
|
||||||
this._workspacesViews[i].endSwipeScroll();
|
this._workspacesViews[i].endSwipeScroll();
|
||||||
}));
|
}));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user