Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mpiannucci/gnome-shell-extended-gestures

Better touchpad gesture handling for GNOME
https://github.com/mpiannucci/gnome-shell-extended-gestures

gesture gnome handles-touchpad-gestures libinput linux swipe wayland

Last synced: about 1 month ago
JSON representation

Better touchpad gesture handling for GNOME

Awesome Lists containing this project

README

        

# gnome-shell-extended-gestures

Provides extended touchpad gesture functionality and configuration to the GNOME desktop.

https://extensions.gnome.org/extension/1253/extended-gestures/

![gesture-settings](gesture-settings.png)

## Background

By defualt, GNOME uses `libinput` to detect touchpad gestures as they are performed by the user. However, it is still fresh and the only gesture detected and acted on out of the box is four finger vertical swipes. When it sees this gesture, it switches workspaces for the user, much like macOS is famous for doing by default. I recently found [libinput-gestures](https://github.com/bulletmark/libinput-gestures) which allows you configure other gestures seen by `libinput`. There are some quirks though and I thought I could make something that works more integrated with GNOME. So I made this extension which lets you enable and configure other gestures such as three finger swipes.

## What Does It Allow Me To Do

For now, it allows the user the configure three finger horizontal and vertical gestures to perform a choice of actions supplied through the extension settings in `gnome-tweak-tool`. It should work on most modern laptops with multitouch trackpads. It has been tested on many modern devices. Please see [hardware](hardware.md) for more information!.

#### Adjusting the sensitivity

There is now a setting for adjusting the sensitivity which helps expand the usefullness to more hardware. Using the settings dialog you can make the gestures more sensitive by increasing the value (>0) or less sensitive by decreasing the value (<0). Feel free to share the values that work for you in the [hardware](hardware.md) list.

## Current Limitations

Currently there are a few limitations so far that you should be aware of:

* Actions are currently limited to things baked into the GNOME shell because this extension is basically sandboxed there. So currenlty setting an action like "swipe to go forward or back in the browser" is not currently possible.
* Pinch gestures are not handled or configured. Eventually I want to add in support for all pinching gestures but I have not done so yet. See issue #3.
* Four finger swipe gestures are captured by defualt by GNOME shell so they can not be handled by this extension. However, eventually four finger pinches should be able to be handled I believe.
* It only works with GNOME Wayland 3.26+. See the releases for a working 3.22 and 3.24 version.
* It should work any distro that used GNOME Wayland 3.26 and `libinput`. Confirmed working with Arch Linux and Ubuntu GNOME 17.04
* It *only* handles touchpad gestures, not touchscreen gestures because those are much better supported in GNOME out of the box.

## Requirements

* GNOME 3.26+
* Wayland
* libinput

## Installation

### From the GNOME Extensions Store

Get it [here](https://extensions.gnome.org/extension/1253/extended-gestures/)

### Manually

1. Clone the repo a in your `~/.local/share/gnome-shell/extensions` folder like so. Then log out and back in to your session and you should be able to enable the extension in Tweak Tool

```bash
git clone https://github.com/mpiannucci/gnome-shell-extended-gestures
cp -r gnome-shell-extended-gestures/[email protected] ~/.local/share/gnome-shell/extensions
```

*or*

2. Clone or download the repo where ever you would like, zip it up and install it manually through Tweak Tool

```bash
git clone https://github.com/mpiannucci/gnome-shell-extended-gestures
cd gnome-shell-extended-gestures
./package.sh
```

## Troubleshooting

If it is not working, check the following. If it still does not work, please post an issue detailing your laptop model, operating system and gnome shell version

* Make sure you are running a wayland session
* Make sure your trackpad supports multitouch
* Make sure you are using GNOME 3.26 or above

If you are confident that you have satisfied those three things, try and **swipe vertically up AND down with four fingers**. This gesture is buiult into GNOME by default and it should switch workspace (make sure workspace switching is enabled) when the gesture occurs. If that works and the extension still does not, please file an issue so I can look into it!!

#### Other known issues to check

* If `libinput-gestures` is installed, uninstall it and reload your session. It should work after that.

## License

[GPL V3](LICENSE)