workspacesView: Consider workspaces-only-on-primary when panning
It is odd to switch workspaces on the primary monitor when panning on a monitor without workspaces, so reject the gesture on non-primary monitors when workspaces-only-on-primary is disabled. https://bugzilla.gnome.org/show_bug.cgi?id=766883
This commit is contained in:
parent
2ad2853278
commit
21ddbf0b8f
@ -437,6 +437,12 @@ const WorkspacesDisplay = new Lang.Class({
|
|||||||
let panAction = new Clutter.PanAction({ threshold_trigger_edge: Clutter.GestureTriggerEdge.AFTER });
|
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() {
|
||||||
|
if (this._workspacesOnlyOnPrimary) {
|
||||||
|
let event = Clutter.get_current_event();
|
||||||
|
if (this._getMonitorIndexForEvent(event) != this._primaryIndex)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
for (let i = 0; i < this._workspacesViews.length; i++)
|
for (let i = 0; i < this._workspacesViews.length; i++)
|
||||||
this._workspacesViews[i].startSwipeScroll();
|
this._workspacesViews[i].startSwipeScroll();
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user