Fusuma plugin configure app-specific gestures
- Switch gesture mappings by detecting active application.
- Support X11, Ubuntu-Wayland
Run the following code in your terminal.
$ sudo gem install fusuma-plugin-appmatcher
Gnome Wayland version 41 and later does not allow to access information about window or application like focused app. So fusuma-plugin-appmatcher solves this problem via Appmatcher gnome-extension.
$ fusuma-appmatcher --install-gnome-extension
Restart your session(logout/login), then activate Appmatcher on gnome-extensions-app
$ fusuma-appmatcher -l
prints Running Application names.
$ fusuma-appmatcher -l
Slack
Google-chrome
Alacritty
You can use these application name to under application:
context in config.yml
-
Add the
---
symbol to separate the context in config.yml. -
Add
context:
property in~/.config/fusuma/config.yml
. -
Under the
context:
property, you can set theapplication: APP_NAME
as a value.
- In this context, you can configure mappings to application-specific gestures.
- For example, you can set
:Google-chrome
,:Alacritty
,Org.gnome.Nautilus
, and so on. - You can find property name's hint, with
$ fusuma-appmatcher -l
NOTE: The first context separated by ---
is the default context
In the following example of config.yml
- On Google-chrome, the three-finger gesture is mapped to open in tab, close tab, back in history, forward in history.
- On Gnome-terminal, the three-finger gesture will be mapped to open in tab, close in tab.
# this is default context
swipe:
4:
up:
sendkey: 'LEFTCTRL+LEFTALT+DOWN'
keypress:
LEFTSHIFT:
sendkey: 'LEFTSHIFT+LEFTCTRL+LEFTALT+DOWN'
down:
sendkey: 'LEFTCTRL+LEFTALT+UP'
LEFTSHIFT:
sendkey: 'LEFTSHIFT+LEFTCTRL+LEFTALT+UP'
---
context:
application: Google-chrome
swipe:
3:
left:
sendkey: 'LEFTALT+RIGHT'
right:
sendkey: 'LEFTALT+LEFT'
up:
sendkey: 'LEFTCTRL+T'
down:
sendkey: 'LEFTCTRL+W'
---
context:
application: Gnome-terminal
swipe:
3:
up:
sendkey: 'LEFTSHIFT+LEFTCTRL+T'
down:
sendkey: 'LEFTSHIFT+LEFTCTRL+W'
Bug reports and pull requests are welcome on GitHub at https://github.com/iberianpig/fusuma-plugin-appmatcher. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the MIT License.
Everyone interacting in the Fusuma::Plugin::Appmatcher project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.