This extension modifies and extends existing touchpad gestures on GNOME.
- Install extension
git clone https://github.com/harshadgavali/gnome-gesture-improvements.git/
cd gnome-gesture-improvements
npm install
npm run update
- Log out and log in or just restart session (X11)
- Enable extension via extensions app or via command line
gnome-extensions enable gestureImprovements@gestures
On X11, you also need to install gnome-x11-gesture-daemon
Swipe Gesture | Modes | Fingers | Direction |
---|---|---|---|
Switch windows | Desktop | 3 | Horizontal |
Switch workspaces | Overview | 2/3 | Horizontal |
Switch app pages | AppGrid | 2/3 | Horizontal |
Switch workspaces | * | 4 | Horizontal |
Desktop/Overview/AppGrid navigation | * | 4 | Vertical |
Unmaximize/maximize/fullscreen a window | Desktop | 3 | Vertical |
Minimize a window | Desktop | 3 | Vertical |
Snap/half-tile a window | Desktop | 3 | Explained below |
Pinch Gesture | Modes | Fingers |
---|---|---|
Show Desktop | Desktop | 3/4 |
Application Gestures (Configurable) |
---|
Go back or forward in browser tab |
Switch to next or previous image in image viewer |
Switch to next or previous audio |
Change tabs |
- Do a 3-finger vertical downward gesture on a unmaximized window
- Wait a few milliseconds
- Do a 3-finger horizontal gesture to tile a window to either side
- Minimize gesture is available if you have dash-to-dock/panel or similar extension enabled.
- To activate application gesture, hold for few moments(configurable) before swiping
- Tiling gesture can't be activated if you enable minimize gesture
- To switch to windows from all workspaces using 3-fingers swipes, run
gsettings set org.gnome.shell.window-switcher current-workspace-only false
- Add delay to alt-tab gesture, to ensure second windows gets selected when a fast swipe is done
- Change sensitivity of swipe (touchpad swipe speed)
- Option to follow natural scrolling (seperate from option in GNOME settings)
- Revert to 3-finger swipes to switch workspace on desktop (4-fingers to switch windows)
- Revert to 3-finger swipes for overview navigation (4-fingers to maximize/unmaximize/tile)
@ewlsh for Typescript definitions for GLib, GObject, ...