README.md in fusuma-2.5.1 vs README.md in fusuma-3.0.0
- old
+ new
@@ -1,6 +1,7 @@
-# Fusuma [](https://badge.fury.io/rb/fusuma) [](https://github.com/iberianpig/fusuma/actions/workflows/ubuntu.yml)
+# Fusuma
+ [](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.

@@ -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) |  | Emulates keyboard events |
-| [fusuma-plugin-wmctrl](https://github.com/iberianpig/fusuma-plugin-wmctrl) |  | Manages Window and Workspace |
-| [fusuma-plugin-keypress](https://github.com/iberianpig/fusuma-plugin-keypress) |  | Detects gestures while pressing multiple keys |
-| [fusuma-plugin-tap](https://github.com/iberianpig/fusuma-plugin-tap) |  | Detects Tap and Hold gestures |
-| [fusuma-plugin-appmatcher](https://github.com/iberianpig/fusuma-plugin-appmatcher) |  | Configure app-specific gestures |
+| Name | Version | About |
+| --- | --- | --- |
+| [fusuma-plugin-sendkey](https://github.com/iberianpig/fusuma-plugin-sendkey) |  | Emulates keyboard events(Wayland compatible) |
+| [fusuma-plugin-wmctrl](https://github.com/iberianpig/fusuma-plugin-wmctrl) |  | Manages Window and Workspace |
+| [fusuma-plugin-keypress](https://github.com/iberianpig/fusuma-plugin-keypress) |  | Detecting a combination of key presses and touchpad gestures |
+| [fusuma-plugin-tap](https://github.com/iberianpig/fusuma-plugin-tap) |  | Detects Tap gesture |
+| [fusuma-plugin-appmatcher](https://github.com/iberianpig/fusuma-plugin-appmatcher) |  | 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.