README.md in fusuma-2.5.1 vs README.md in fusuma-3.0.0

- old
+ new

@@ -1,6 +1,7 @@ -# Fusuma [![Gem Version](https://badge.fury.io/rb/fusuma.svg)](https://badge.fury.io/rb/fusuma) [![Build Status](https://github.com/iberianpig/fusuma/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/iberianpig/fusuma/actions/workflows/ubuntu.yml) +# Fusuma +![Gem](https://img.shields.io/gem/v/fusuma?color=brightgreen) [![Build Status](https://github.com/iberianpig/fusuma/actions/workflows/main.yml/badge.svg)](https://github.com/iberianpig/fusuma/actions/workflows/main.yml) Fusuma is multitouch gesture recognizer. This gem makes your linux able to recognize swipes or pinchs and assign commands to them. ![fusuma_image](https://repository-images.githubusercontent.com/69813387/60879a00-166c-11ea-9875-3bf0818c62ec) @@ -19,146 +20,167 @@ ### Grant permission to read the touchpad device **IMPORTANT**: You **MUST** be a member of the **INPUT** group to read touchpad by Fusuma. -```bash +```sh sudo gpasswd -a $USER input ``` Then, You apply the change with no logout or reboot. -```bash +```sh newgrp input ``` +**IMPORTANT**: This makes `/dev/input/` readable, so if that's an issue for you for some reason (like for privacy- or securityconcerns etc. or if it causes other parts of your OS to misbehave), **consider this your heads-up.** + +<details> +<summary>For Debian Based Distros (Ubuntu, Debian, Mint, Pop!OS)</summary> + ### For Debian Based Distros (Ubuntu, Debian, Mint, Pop!OS) #### 1. Install libinput-tools You need `libinput` release 1.0 or later. -```bash +```sh sudo apt-get install libinput-tools ``` #### 2. Install Ruby Fusuma runs in Ruby, so you must install it first. -```bash +```sh sudo apt-get install ruby ``` #### 3. Install Fusuma -```bash +```sh sudo gem install fusuma ``` #### 4. Install xdotool (optional) For sending shortcuts: -```bash +```sh sudo apt-get install xdotool ``` +</details> + +<details> +<summary> For Arch Based Distros (Manjaro, Arch) </summary> + ### For Arch Based Distros (Manjaro, Arch) #### 1. Install libinput. You need `libinput` release 1.0 or later. This is most probably installed by default on Manjaro -```z-h -sudo pacman -S libinput +```sh +sudo pacman -Syu libinput ``` #### 2. Install Ruby Fusuma runs in Ruby, so you must install it first. -```zsh -sudo pacman -S ruby +```sh +sudo pacman -Syu ruby ``` #### 3. Install Fusuma **Note:** By default in Arch Linux, when running `gem`, gems are installed per-user (into `~/.gem/ruby/`), instead of system-wide (into `/usr/lib/ruby/gems/`). This is considered the best way to manage gems on Arch, because otherwise they might interfere with gems installed by Pacman. (From Arch Wiki) To install gems system-wide, see any of the methods listed on [Arch Wiki](https://wiki.archlinux.org/index.php/ruby#Installing_gems_system-wide) -```zsh +```sh sudo gem install fusuma ``` #### 4. Install xdotool (optional) For sending shortcuts: -```zsh -sudo pacman -S xdotool +```sh +sudo pacman -Syu xdotool ``` +**For the truly lazy people:** As with pretty much anything else available as Open-Source-Software, you can install Fusuma via a package from the AUR. As off time of writing (March 2023), the package you would want is called `ruby-fusuma`. +Please keep in mind that this community-built package is NOT officially supported here and while it might do the job, it is not the intended way to install. +Installing Fusuma this way means that if things do not work as intended during or after the installation, you are on your own. +So please do not bombard the Issues-Page here on Github if Fusuma isn't working correctly after installing it via the AUR. +Fusuma's plugins as listed below here in this Readme can be installed as optional dependencies also via the AUR, namescheme being `ruby-fusuma-replacewithnameofplugin`. +</details> + +<details> +<summary>For Fedora</summary> + ### For Fedora #### 1. Install libinput-tools You need `libinput` release 1.0 or later. -```bash +```sh sudo dnf install libinput ``` #### 2. Install Ruby Fusuma runs in Ruby, so you must install it first. -```bash +```sh sudo dnf install ruby ``` #### 3. Install Fusuma -```bash +```sh sudo gem install fusuma ``` #### 4. Install xdotool (optional) For sending shortcuts: -```bash +```sh sudo dnf install xdotool ``` +</details> ### Touchpad not working in GNOME Ensure the touchpad events are being sent to the GNOME desktop by running the following command: -```bash +```sh gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled ``` ## Usage -```bash +```sh fusuma ``` ## Update -```bash +```sh sudo gem update fusuma ``` ## Customize Gesture Mapping You can customize the settings for gestures to put and edit `~/.config/fusuma/config.yml`. **NOTE: You will need to create the `~/.config/fusuma` directory if it doesn't exist yet.** -```bash +```sh mkdir -p ~/.config/fusuma # create config directory nano ~/.config/fusuma/config.yml # edit config file. ``` @@ -320,11 +342,10 @@ - Gestures take a few seconds to react(https://github.com/iberianpig/fusuma/issues/113) #### Alternatives to xdotool - [fusuma-plugin-sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey) - - Emulates keyboard events - Low latency - Wayland compatible - `xte` @@ -332,12 +353,13 @@ - install with `sudo apt install xautomation` - [ydotool](https://github.com/ReimuNotMoe/ydotool) - Wayland compatible - Needs more maintainers. - - Requires only replacing `xdotool` with `ydotool` in fusuma conf. + + ## Options - `-c`, `--config=path/to/file` : Use an alternative config file - `-d`, `--daemon` : Daemonize process - `-l`, `--list-devices` : List available devices @@ -374,26 +396,26 @@ ### Available plugins Fusuma plugins are provided with the `fusuma-plugin-XXXXX` naming convention and hosted on [RubyGems](https://rubygems.org/search?utf8=%E2%9C%93&query=fusuma-plugins). -| Name | Version | About | -| ---------------------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------- | -| [fusuma-plugin-sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey) | ![Gem Version](https://badge.fury.io/rb/fusuma-plugin-sendkey.svg) | Emulates keyboard events | -| [fusuma-plugin-wmctrl](https://github.com/iberianpig/fusuma-plugin-wmctrl) | ![Gem Version](https://badge.fury.io/rb/fusuma-plugin-wmctrl.svg) | Manages Window and Workspace | -| [fusuma-plugin-keypress](https://github.com/iberianpig/fusuma-plugin-keypress) | ![Gem Version](https://badge.fury.io/rb/fusuma-plugin-keypress.svg) | Detects gestures while pressing multiple keys | -| [fusuma-plugin-tap](https://github.com/iberianpig/fusuma-plugin-tap) | ![Gem Version](https://badge.fury.io/rb/fusuma-plugin-tap.svg) | Detects Tap and Hold gestures | -| [fusuma-plugin-appmatcher](https://github.com/iberianpig/fusuma-plugin-appmatcher) | ![Gem Version](https://badge.fury.io/rb/fusuma-plugin-appmatcher.svg) | Configure app-specific gestures | +| Name | Version | About | +| --- | --- | --- | +| [fusuma-plugin-sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey) | ![Gem](https://img.shields.io/gem/v/fusuma-plugin-sendkey?color=brightgreen) | Emulates keyboard events(Wayland compatible) | +| [fusuma-plugin-wmctrl](https://github.com/iberianpig/fusuma-plugin-wmctrl) | ![Gem](https://img.shields.io/gem/v/fusuma-plugin-wmctrl?color=brightgreen) | Manages Window and Workspace | +| [fusuma-plugin-keypress](https://github.com/iberianpig/fusuma-plugin-keypress) | ![Gem](https://img.shields.io/gem/v/fusuma-plugin-keypress?color=brightgreen) | Detecting a combination of key presses and touchpad gestures | +| [fusuma-plugin-tap](https://github.com/iberianpig/fusuma-plugin-tap) | ![Gem](https://img.shields.io/gem/v/fusuma-plugin-tap?color=brightgreen) | Detects Tap gesture | +| [fusuma-plugin-appmatcher](https://github.com/iberianpig/fusuma-plugin-appmatcher) | ![Gem](https://img.shields.io/gem/v/fusuma-plugin-appmatcher?color=brightgreen) | Configure app-specific gestures | ### Installation of Fusuma plugins -```bash +```sh # install fusuma-plugin-XXXX sudo gem install fusuma-plugin-XXXXX` ``` -```bash +```sh # update sudo gem list fusuma-plugin- | cut -d' ' -f1 | xargs --no-run-if-empty sudo gem update ``` ## Tutorial Video @@ -406,10 +428,9 @@ I'm a Freelance Engineer in Japan and working on these products after finishing my regular work or on my holidays. Currently, my open-source contribution times is not enough. If you like my work and want to contribute and become a sponsor, I will be able to focus on my projects. - [GitHub Sponsors](https://github.com/sponsors/iberianpig) -- [Patreon](https://www.patreon.com/iberianpig) ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/iberianpig/fusuma. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.