mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
gestures: Restrict actions based on keybindingMode
Just like keybindings and the message tray pointer barrier, gestures don't always make sense - for instance, swiping up the screen shield should not trigger the message tray just as the SelectArea action around the left edge should not open the overview. To avoid this, restrict gestures based on the current keybinding mode. https://bugzilla.gnome.org/show_bug.cgi?id=740237
This commit is contained in:
parent
7b9be2188a
commit
ddeac2386f
4 changed files with 18 additions and 6 deletions
|
|
@ -6,6 +6,8 @@ const Meta = imports.gi.Meta;
|
|||
const Clutter = imports.gi.Clutter;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
|
||||
const EDGE_THRESHOLD = 20;
|
||||
const DRAG_DISTANCE = 80;
|
||||
|
||||
|
|
@ -13,9 +15,10 @@ const EdgeDragAction = new Lang.Class({
|
|||
Name: 'EdgeDragAction',
|
||||
Extends: Clutter.GestureAction,
|
||||
|
||||
_init : function(side) {
|
||||
_init : function(side, allowedModes) {
|
||||
this.parent();
|
||||
this._side = side;
|
||||
this._allowedModes = allowedModes;
|
||||
this.set_n_touch_points(1);
|
||||
|
||||
global.display.connect('grab-op-begin', Lang.bind(this, function() {
|
||||
|
|
@ -34,6 +37,9 @@ const EdgeDragAction = new Lang.Class({
|
|||
if (this.get_n_current_points() == 0)
|
||||
return false;
|
||||
|
||||
if (!(this._allowedModes & Main.keybindingMode))
|
||||
return false;
|
||||
|
||||
let [x, y] = this.get_press_coords(0);
|
||||
let monitorRect = this._getMonitorRect(x, y);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue