Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 21 additions & 2 deletions [email protected]/extension.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ const TouchpadGestureAction = new Lang.Class({
rounded_direction = 2;
}
let dir = DIRECTION_LOOKUP[rounded_direction]

// Main.notify('test','direction '+rounded_direction+' dy,dx='+ this._dy+' ,'+this._dx);
if (!this._checkSwipeValid(dir, fingerCount, magnitude))
return;

Expand All @@ -87,9 +87,11 @@ const TouchpadGestureAction = new Lang.Class({

if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.UPDATE) {
let [dx, dy] = event.get_gesture_motion_delta();

// when natural scrolling is enabled
// dy is reversed
this._dx += dx;
this._dy += dy;
// Main.notify('increment','dy,dx='+ dy+' ,'+dx)
} else {
if (event.get_gesture_phase() == Clutter.TouchpadGesturePhase.END)
this._checkActivated(event.get_touchpad_gesture_finger_count());
Expand Down Expand Up @@ -196,6 +198,22 @@ const TouchpadGestureAction = new Lang.Class({
focusedWindow.make_fullscreen();
}
break;
case 12:
//prev tab
this._sendKeyEvent(Clutter.KEY_Control_L,Clutter.KEY_Page_Up);
break;
case 13:
//next tab
this._sendKeyEvent(Clutter.KEY_Control_L,Clutter.KEY_Page_Down);
break;
case 14:
//close tab
this._sendKeyEvent(Clutter.KEY_Control_L,Clutter.KEY_W + 32);
break;
case 15:
//reopen tab
this._sendKeyEvent(Clutter.KEY_Control_L,Clutter.KEY_Shift_L,Clutter.KEY_T + 32);
break;
default:
break;
}
Expand All @@ -217,6 +235,7 @@ const TouchpadGestureAction = new Lang.Class({
_sendKeyEvent: function (...keys) {
let currentTime = Clutter.get_current_event_time();
keys.forEach(key => this._virtualDevice.notify_keyval(currentTime, key, Clutter.KeyState.PRESSED));
keys.reverse();
keys.forEach(key => this._virtualDevice.notify_keyval(currentTime, key, Clutter.KeyState.RELEASED));
},

Expand Down
4 changes: 4 additions & 0 deletions [email protected]/prefs.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,10 @@ const ExtendedGesturesSettingsWidget = new GObject.Class({
'Go Back',
'Show App Drawer (unanimated)',
'Toggle Fullscreen',
'Previous Tab',
'Next Tab',
'Close Tab',
'Restore Closed Tab'
];

// Disable four finger options for now :(
Expand Down
Binary file modified [email protected]/schemas/gschemas.compiled
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
<value value="9" nick="go-back"/>
<value value="10" nick="app-drawer-unanimated"/>
<value value="11" nick="fullscreen"/>
<value value="12" nick="prev-tab"/>
<value value="13" nick="next-tab"/>
<value value="14" nick="close-tab"/>
<value value="15" nick="restore-closed-tab"/>
</enum>
<schema id="org.gnome.shell.extensions.extendedgestures" path="/org/gnome/shell/extensions/extendedgestures/">
<key name="left-three-swipes" type="b">
Expand Down