fusuma 1.10.0 → 2.0.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/pull_request_template.md +9 -0
- data/.rubocop.yml +27 -0
- data/.rubocop_todo.yml +34 -19
- data/.solargraph.yml +16 -0
- data/.travis.yml +1 -3
- data/CHANGELOG.md +56 -4
- data/CONTRIBUTING.md +72 -0
- data/Gemfile +17 -0
- data/README.md +53 -7
- data/fusuma.gemspec +4 -13
- data/lib/fusuma.rb +91 -29
- data/lib/fusuma/config.rb +59 -60
- data/lib/fusuma/config/index.rb +39 -6
- data/lib/fusuma/config/searcher.rb +164 -0
- data/lib/fusuma/config/yaml_duplication_checker.rb +42 -0
- data/lib/fusuma/custom_process.rb +13 -0
- data/lib/fusuma/device.rb +22 -7
- data/lib/fusuma/environment.rb +5 -4
- data/lib/fusuma/hash_support.rb +40 -0
- data/lib/fusuma/libinput_command.rb +16 -20
- data/lib/fusuma/multi_logger.rb +2 -6
- data/lib/fusuma/plugin/base.rb +18 -15
- data/lib/fusuma/plugin/buffers/buffer.rb +3 -2
- data/lib/fusuma/plugin/buffers/gesture_buffer.rb +34 -25
- data/lib/fusuma/plugin/buffers/timer_buffer.rb +46 -0
- data/lib/fusuma/plugin/detectors/detector.rb +26 -5
- data/lib/fusuma/plugin/detectors/pinch_detector.rb +109 -58
- data/lib/fusuma/plugin/detectors/rotate_detector.rb +91 -50
- data/lib/fusuma/plugin/detectors/swipe_detector.rb +93 -56
- data/lib/fusuma/plugin/events/event.rb +5 -4
- data/lib/fusuma/plugin/events/records/context_record.rb +27 -0
- data/lib/fusuma/plugin/events/records/gesture_record.rb +12 -6
- data/lib/fusuma/plugin/events/records/index_record.rb +46 -14
- data/lib/fusuma/plugin/events/records/record.rb +1 -1
- data/lib/fusuma/plugin/events/records/text_record.rb +2 -1
- data/lib/fusuma/plugin/executors/command_executor.rb +21 -6
- data/lib/fusuma/plugin/executors/executor.rb +45 -3
- data/lib/fusuma/plugin/filters/filter.rb +1 -1
- data/lib/fusuma/plugin/filters/libinput_device_filter.rb +6 -7
- data/lib/fusuma/plugin/filters/libinput_timeout_filter.rb +2 -2
- data/lib/fusuma/plugin/inputs/input.rb +63 -8
- data/lib/fusuma/plugin/inputs/libinput_command_input.rb +19 -9
- data/lib/fusuma/plugin/inputs/timer_input.rb +63 -0
- data/lib/fusuma/plugin/manager.rb +10 -28
- data/lib/fusuma/plugin/parsers/libinput_gesture_parser.rb +10 -8
- data/lib/fusuma/plugin/parsers/parser.rb +8 -9
- data/lib/fusuma/string_support.rb +16 -0
- data/lib/fusuma/version.rb +1 -1
- metadata +20 -149
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f7ab066b275d3d5bdf59d18a948d297d0e164f71d0611e6f999c71d962a8f6d
|
4
|
+
data.tar.gz: f92ff70084e6b98482236b67b2f2c68d7424f7cb8ff1e9ad6b61f4a7d4bea244
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 885b781c3ec389cc6e37a68eb0799044e8792587145875d7c3facb59dc3a003cd53c4beb9d2a539f534f4947b2a5cf4d43442a9d3a0dba929744881feac7607c
|
7
|
+
data.tar.gz: a79c1f4390694af343cb98901f30916c32642ff5318181a8191c855997eff64aea3dc4a88f02b51a7bfb2565ac7037965bb2816b24141eab6bcd6a23f9ce04dc
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
|
2
|
+
|
3
|
+
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/iberianpig/fusuma/issues) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea.
|
4
|
+
|
5
|
+
- [ ] Follow the instructions in [CONTRIBUTING](https://github.com/iberianpig/fusuma/blob/master/CONTRIBUTING.md). Most importantly, ensure the tests and linter pass by running `bundle exec rspec` and `bundle exec rubocop`.
|
6
|
+
|
7
|
+
- [ ] Update code documentation if necessary.
|
8
|
+
|
9
|
+
closes: #<issue_number_goes_here>
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
inherit_from: .rubocop_todo.yml
|
2
2
|
|
3
|
+
AllCops:
|
4
|
+
TargetRubyVersion: '2.5'
|
5
|
+
NewCops: enable
|
6
|
+
|
3
7
|
Metrics/ModuleLength:
|
4
8
|
Exclude:
|
5
9
|
- "**/*_spec.rb"
|
@@ -14,3 +18,26 @@ Layout/LineLength:
|
|
14
18
|
Exclude:
|
15
19
|
- "fusuma.gemspec"
|
16
20
|
- "**/*_spec.rb"
|
21
|
+
|
22
|
+
# For rubocop < 1.0.0
|
23
|
+
Style/HashEachMethods:
|
24
|
+
Enabled: true
|
25
|
+
|
26
|
+
# For rubocop < 1.0.0
|
27
|
+
Style/HashTransformKeys:
|
28
|
+
Enabled: true
|
29
|
+
|
30
|
+
# For rubocop < 1.0.0
|
31
|
+
Style/HashTransformValues:
|
32
|
+
Enabled: true
|
33
|
+
|
34
|
+
Lint/RaiseException:
|
35
|
+
Enabled: true
|
36
|
+
Lint/StructNewOverride:
|
37
|
+
Enabled: true
|
38
|
+
|
39
|
+
# for declaring dummy classes in ./spec
|
40
|
+
Lint/ConstantDefinitionInBlock:
|
41
|
+
Exclude:
|
42
|
+
- "**/*_spec.rb"
|
43
|
+
|
data/.rubocop_todo.yml
CHANGED
@@ -1,24 +1,49 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2021-03-28 13:34:27 UTC using RuboCop version 1.10.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
9
|
+
# Offense count: 1
|
10
|
+
# Cop supports --auto-correct.
|
11
|
+
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
12
|
+
# URISchemes: http, https
|
13
|
+
Layout/LineLength:
|
14
|
+
Max: 104
|
15
|
+
|
16
|
+
# Offense count: 9
|
17
|
+
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
|
10
18
|
Metrics/AbcSize:
|
11
|
-
Max:
|
19
|
+
Max: 67
|
12
20
|
|
13
|
-
# Offense count:
|
14
|
-
# Configuration parameters: CountComments.
|
21
|
+
# Offense count: 2
|
22
|
+
# Configuration parameters: CountComments, CountAsOne.
|
15
23
|
Metrics/ClassLength:
|
16
|
-
Max:
|
24
|
+
Max: 121
|
17
25
|
|
18
|
-
# Offense count:
|
19
|
-
# Configuration parameters:
|
26
|
+
# Offense count: 7
|
27
|
+
# Configuration parameters: IgnoredMethods.
|
28
|
+
Metrics/CyclomaticComplexity:
|
29
|
+
Max: 12
|
30
|
+
|
31
|
+
# Offense count: 24
|
32
|
+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
|
20
33
|
Metrics/MethodLength:
|
21
|
-
Max:
|
34
|
+
Max: 57
|
35
|
+
|
36
|
+
# Offense count: 5
|
37
|
+
# Configuration parameters: IgnoredMethods.
|
38
|
+
Metrics/PerceivedComplexity:
|
39
|
+
Max: 13
|
40
|
+
|
41
|
+
# Offense count: 1
|
42
|
+
# Configuration parameters: EnforcedStyleForLeadingUnderscores.
|
43
|
+
# SupportedStylesForLeadingUnderscores: disallowed, required, optional
|
44
|
+
Naming/MemoizedInstanceVariableName:
|
45
|
+
Exclude:
|
46
|
+
- 'lib/fusuma/plugin/detectors/detector.rb'
|
22
47
|
|
23
48
|
# Offense count: 3
|
24
49
|
Style/Documentation:
|
@@ -28,13 +53,3 @@ Style/Documentation:
|
|
28
53
|
- 'lib/fusuma/plugin/detectors/pinch_detector.rb'
|
29
54
|
- 'lib/fusuma/plugin/detectors/rotate_detector.rb'
|
30
55
|
- 'lib/fusuma/plugin/detectors/swipe_detector.rb'
|
31
|
-
|
32
|
-
# Offense count: 3
|
33
|
-
# Cop supports --auto-correct.
|
34
|
-
# Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
|
35
|
-
# SupportedStyles: predicate, comparison
|
36
|
-
Style/NumericPredicate:
|
37
|
-
Exclude:
|
38
|
-
- 'spec/**/*'
|
39
|
-
- 'lib/fusuma/plugin/detectors/rotate_detector.rb'
|
40
|
-
- 'lib/fusuma/plugin/detectors/swipe_detector.rb'
|
data/.solargraph.yml
ADDED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,57 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [v1.11.0](https://github.com/iberianpig/fusuma/tree/v1.11.0) (2020-07-25)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.10.2...v1.11.0)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- Feature/yaml check [\#193](https://github.com/iberianpig/fusuma/pull/193) ([iberianpig](https://github.com/iberianpig))
|
10
|
+
|
11
|
+
## [v1.10.2](https://github.com/iberianpig/fusuma/tree/v1.10.2) (2020-07-23)
|
12
|
+
|
13
|
+
[Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.10.1...v1.10.2)
|
14
|
+
|
15
|
+
**Closed issues:**
|
16
|
+
|
17
|
+
- Gestures from libinput are not recognised [\#192](https://github.com/iberianpig/fusuma/issues/192)
|
18
|
+
- Vertical 4 finger swipe and rotation not recognised [\#189](https://github.com/iberianpig/fusuma/issues/189)
|
19
|
+
- Pinch in gesture not recognized in Popos 20.04 \(Ubuntu 20.04\) [\#184](https://github.com/iberianpig/fusuma/issues/184)
|
20
|
+
- Fusuma crashes while switching between workspaces on KDE Plasma [\#181](https://github.com/iberianpig/fusuma/issues/181)
|
21
|
+
- Window Prev/Next moves desktop environment when no active window [\#178](https://github.com/iberianpig/fusuma/issues/178)
|
22
|
+
- Add ydotool to docs. [\#177](https://github.com/iberianpig/fusuma/issues/177)
|
23
|
+
- Can't use alternative .config.yml [\#176](https://github.com/iberianpig/fusuma/issues/176)
|
24
|
+
- Fusuma stops working sometimes [\#175](https://github.com/iberianpig/fusuma/issues/175)
|
25
|
+
- Pinch \(2, in\) does not work. [\#174](https://github.com/iberianpig/fusuma/issues/174)
|
26
|
+
|
27
|
+
**Merged pull requests:**
|
28
|
+
|
29
|
+
- 177. Add ydootool to docs. [\#179](https://github.com/iberianpig/fusuma/pull/179) ([mattdemarillac](https://github.com/mattdemarillac))
|
30
|
+
|
31
|
+
## [v1.10.1](https://github.com/iberianpig/fusuma/tree/v1.10.1) (2020-05-15)
|
32
|
+
|
33
|
+
[Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.10.0...v1.10.1)
|
34
|
+
|
35
|
+
**Closed issues:**
|
36
|
+
|
37
|
+
- Some gestures are not always recognized [\#172](https://github.com/iberianpig/fusuma/issues/172)
|
38
|
+
- Unable to reprogram Pinch [\#171](https://github.com/iberianpig/fusuma/issues/171)
|
39
|
+
|
40
|
+
## [v1.10.0](https://github.com/iberianpig/fusuma/tree/v1.10.0) (2020-05-04)
|
41
|
+
|
42
|
+
[Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.9.0...v1.10.0)
|
43
|
+
|
44
|
+
**Closed issues:**
|
45
|
+
|
46
|
+
- Each action took about 2 secs to react [\#167](https://github.com/iberianpig/fusuma/issues/167)
|
47
|
+
- ruby2.7 [\#164](https://github.com/iberianpig/fusuma/issues/164)
|
48
|
+
- Zoom-in not really usable on Vivaldi [\#159](https://github.com/iberianpig/fusuma/issues/159)
|
49
|
+
- Reversed directions with no alternatives [\#133](https://github.com/iberianpig/fusuma/issues/133)
|
50
|
+
|
51
|
+
**Merged pull requests:**
|
52
|
+
|
53
|
+
- Implement timeout event [\#169](https://github.com/iberianpig/fusuma/pull/169) ([iberianpig](https://github.com/iberianpig))
|
54
|
+
|
3
55
|
## [v1.9.0](https://github.com/iberianpig/fusuma/tree/v1.9.0) (2020-03-30)
|
4
56
|
|
5
57
|
[Full Changelog](https://github.com/iberianpig/fusuma/compare/v1.8.0...v1.9.0)
|
@@ -159,8 +211,7 @@
|
|
159
211
|
**Merged pull requests:**
|
160
212
|
|
161
213
|
- Interval and threshold specific for a trigger [\#92](https://github.com/iberianpig/fusuma/pull/92) ([irq](https://github.com/irq))
|
162
|
-
-
|
163
|
-
- Relax the device name regex [\#9](https://github.com/iberianpig/fusuma/pull/9) ([z0rc](https://github.com/z0rc))
|
214
|
+
- Fix spelling: Elementary to elementary [\#90](https://github.com/iberianpig/fusuma/pull/90) ([ryonakano](https://github.com/ryonakano))
|
164
215
|
|
165
216
|
## [v0.9.2](https://github.com/iberianpig/fusuma/tree/v0.9.2) (2018-07-19)
|
166
217
|
|
@@ -196,7 +247,7 @@
|
|
196
247
|
|
197
248
|
**Closed issues:**
|
198
249
|
|
199
|
-
- Print system information for
|
250
|
+
- Print system information for debugging [\#70](https://github.com/iberianpig/fusuma/issues/70)
|
200
251
|
- rescue from SIGINT Interruption with Ctrl-C [\#64](https://github.com/iberianpig/fusuma/issues/64)
|
201
252
|
|
202
253
|
## [v0.7.1](https://github.com/iberianpig/fusuma/tree/v0.7.1) (2018-06-01)
|
@@ -249,6 +300,7 @@
|
|
249
300
|
|
250
301
|
**Merged pull requests:**
|
251
302
|
|
303
|
+
- Assigning commands [\#73](https://github.com/iberianpig/fusuma/pull/73) ([iberianpig](https://github.com/iberianpig))
|
252
304
|
- Update rake requirement to ~\> 12.3 [\#72](https://github.com/iberianpig/fusuma/pull/72) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
|
253
305
|
|
254
306
|
## [v0.3.5](https://github.com/iberianpig/fusuma/tree/v0.3.5) (2018-01-01)
|
@@ -294,7 +346,6 @@
|
|
294
346
|
|
295
347
|
**Merged pull requests:**
|
296
348
|
|
297
|
-
- Fix spelling: Elementary to elementary [\#90](https://github.com/iberianpig/fusuma/pull/90) ([ryonakano](https://github.com/ryonakano))
|
298
349
|
- Added interval options to config. [\#36](https://github.com/iberianpig/fusuma/pull/36) ([joshuatshaffer](https://github.com/joshuatshaffer))
|
299
350
|
|
300
351
|
## [v0.2.7](https://github.com/iberianpig/fusuma/tree/v0.2.7) (2017-02-04)
|
@@ -382,6 +433,7 @@
|
|
382
433
|
**Merged pull requests:**
|
383
434
|
|
384
435
|
- Match left and right actions [\#10](https://github.com/iberianpig/fusuma/pull/10) ([z0rc](https://github.com/z0rc))
|
436
|
+
- Relax the device name regex [\#9](https://github.com/iberianpig/fusuma/pull/9) ([z0rc](https://github.com/z0rc))
|
385
437
|
|
386
438
|
## [v0.1.3](https://github.com/iberianpig/fusuma/tree/v0.1.3) (2016-11-01)
|
387
439
|
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
# Contributing to Fusuma
|
2
|
+
|
3
|
+
1. Fork the repo, develop and test your code changes.
|
4
|
+
2. Send a pull request.
|
5
|
+
|
6
|
+
## Setup
|
7
|
+
|
8
|
+
In order to use the Fusuma console and run the project's tests,
|
9
|
+
there is a small amount of setup:
|
10
|
+
|
11
|
+
1. Install Ruby. Fusuma requires Ruby 2.3+. You may choose to
|
12
|
+
manage your Ruby and gem installations with [RVM](https://rvm.io/),
|
13
|
+
[rbenv](https://github.com/rbenv/rbenv), or
|
14
|
+
[chruby](https://github.com/postmodern/chruby).
|
15
|
+
|
16
|
+
2. Install [Bundler](http://bundler.io/).
|
17
|
+
|
18
|
+
```sh
|
19
|
+
$ gem install bundler
|
20
|
+
```
|
21
|
+
|
22
|
+
3. Install the top-level project dependencies.
|
23
|
+
|
24
|
+
```sh
|
25
|
+
$ bundle install
|
26
|
+
```
|
27
|
+
|
28
|
+
## Fusuma Tests
|
29
|
+
|
30
|
+
Tests are very important part of Fusuma. All contributions
|
31
|
+
should include tests that ensure the contributed code behaves as expected.
|
32
|
+
|
33
|
+
To run tests:
|
34
|
+
|
35
|
+
``` sh
|
36
|
+
$ bundle exec rspec
|
37
|
+
```
|
38
|
+
|
39
|
+
### Fusuma Document
|
40
|
+
|
41
|
+
The project uses [YARD](https://github.com/lsegal/yard) for generating documentation.
|
42
|
+
|
43
|
+
If you're not sure about YARD, please refer to [YARD cheatsheet](https://gist.github.com/phansch/db18a595d2f5f1ef16646af72fe1fb0e).
|
44
|
+
|
45
|
+
To run the Fusuma documentation tests:
|
46
|
+
|
47
|
+
``` sh
|
48
|
+
$ bundle exec yard --fail-on-warning
|
49
|
+
```
|
50
|
+
|
51
|
+
To check Fusuma documents with running local server:
|
52
|
+
|
53
|
+
```
|
54
|
+
$ bundle exec yard server
|
55
|
+
```
|
56
|
+
Then open (http://localhost:8808/)
|
57
|
+
|
58
|
+
## Coding Style
|
59
|
+
|
60
|
+
Please follow the established coding style in the library.
|
61
|
+
The style is is largely based on [The Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide).
|
62
|
+
|
63
|
+
You can check your code against these rules by running Rubocop like so:
|
64
|
+
|
65
|
+
```sh
|
66
|
+
$ bundle exec rubocop
|
67
|
+
```
|
68
|
+
|
69
|
+
## Code of Conduct
|
70
|
+
|
71
|
+
Please note that this project is released with a Contributor Code of Conduct. By
|
72
|
+
participating in this project you agree to abide by its terms.
|
data/Gemfile
CHANGED
@@ -4,3 +4,20 @@ source 'https://rubygems.org'
|
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in fusuma.gemspec
|
6
6
|
gemspec
|
7
|
+
|
8
|
+
gem 'bundler'
|
9
|
+
gem 'coveralls'
|
10
|
+
gem 'github_changelog_generator', '~> 1.14'
|
11
|
+
gem 'pry-byebug', '~> 3.4'
|
12
|
+
gem 'pry-doc'
|
13
|
+
gem 'pry-inline'
|
14
|
+
gem 'rake', '~> 13.0'
|
15
|
+
gem 'rblineprof'
|
16
|
+
gem 'rblineprof-report'
|
17
|
+
gem 'reek'
|
18
|
+
gem 'rspec', '~> 3.0'
|
19
|
+
gem 'rubocop'
|
20
|
+
gem 'rubocop-rake'
|
21
|
+
gem 'rubocop-rspec'
|
22
|
+
gem 'solargraph'
|
23
|
+
gem 'yard'
|
data/README.md
CHANGED
@@ -17,7 +17,7 @@ This gem makes your linux able to recognize swipes or pinchs and assign commands
|
|
17
17
|
|
18
18
|
## Installation
|
19
19
|
|
20
|
-
###
|
20
|
+
### Grant permission to read the touchpad device
|
21
21
|
|
22
22
|
**IMPORTANT**: You **MUST** be a member of the **INPUT** group to read touchpad by Fusuma.
|
23
23
|
|
@@ -25,9 +25,15 @@ This gem makes your linux able to recognize swipes or pinchs and assign commands
|
|
25
25
|
$ sudo gpasswd -a $USER input
|
26
26
|
```
|
27
27
|
|
28
|
-
Then, You
|
28
|
+
Then, You apply the change with no logout or reboot.
|
29
29
|
|
30
|
-
|
30
|
+
```bash
|
31
|
+
$ newgrp input
|
32
|
+
```
|
33
|
+
|
34
|
+
### For Debian Based Distros (Ubuntu, Debian, Mint, Pop!OS)
|
35
|
+
|
36
|
+
#### 1. Install libinput-tools
|
31
37
|
|
32
38
|
You need `libinput` release 1.0 or later.
|
33
39
|
|
@@ -35,7 +41,7 @@ You need `libinput` release 1.0 or later.
|
|
35
41
|
$ sudo apt-get install libinput-tools
|
36
42
|
```
|
37
43
|
|
38
|
-
|
44
|
+
#### 2. Install Ruby
|
39
45
|
|
40
46
|
Fusuma runs in Ruby, so you must install it first.
|
41
47
|
|
@@ -43,13 +49,13 @@ Fusuma runs in Ruby, so you must install it first.
|
|
43
49
|
$ sudo apt-get install ruby
|
44
50
|
```
|
45
51
|
|
46
|
-
|
52
|
+
#### 3. Install Fusuma
|
47
53
|
|
48
54
|
```bash
|
49
55
|
$ sudo gem install fusuma
|
50
56
|
```
|
51
57
|
|
52
|
-
|
58
|
+
#### 4. Install xdotool (optional)
|
53
59
|
|
54
60
|
For sending shortcuts:
|
55
61
|
|
@@ -57,6 +63,42 @@ For sending shortcuts:
|
|
57
63
|
$ sudo apt-get install xdotool
|
58
64
|
```
|
59
65
|
|
66
|
+
### For Arch Based Distros (Manjaro, Arch)
|
67
|
+
|
68
|
+
#### 1. Install libinput.
|
69
|
+
|
70
|
+
You need `libinput` release 1.0 or later. This is most probably installed by default on Manjaro
|
71
|
+
|
72
|
+
```z-h
|
73
|
+
$ sudo pacman -S libinput
|
74
|
+
```
|
75
|
+
|
76
|
+
#### 2. Install Ruby
|
77
|
+
|
78
|
+
Fusuma runs in Ruby, so you must install it first.
|
79
|
+
|
80
|
+
```zsh
|
81
|
+
$ sudo pacman -S ruby
|
82
|
+
```
|
83
|
+
|
84
|
+
#### 3. Install Fusuma
|
85
|
+
|
86
|
+
**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)
|
87
|
+
|
88
|
+
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)
|
89
|
+
|
90
|
+
```zsh
|
91
|
+
$ sudo gem install fusuma
|
92
|
+
```
|
93
|
+
|
94
|
+
#### 4. Install xdotool (optional)
|
95
|
+
|
96
|
+
For sending shortcuts:
|
97
|
+
|
98
|
+
```zsh
|
99
|
+
$ sudo pacman -S xdotool
|
100
|
+
```
|
101
|
+
|
60
102
|
### Touchpad not working in GNOME
|
61
103
|
|
62
104
|
Ensure the touchpad events are being sent to the GNOME desktop by running the following command:
|
@@ -181,7 +223,6 @@ pinch:
|
|
181
223
|
2:
|
182
224
|
in:
|
183
225
|
command: "xdotool keydown ctrl click 4 keyup ctrl" # threshold: 0.5, interval: 0.5
|
184
|
-
2:
|
185
226
|
out:
|
186
227
|
command: "xdotool keydown ctrl click 5 keyup ctrl" # threshold: 0.5, interval: 0.5
|
187
228
|
|
@@ -239,6 +280,11 @@ swipe:
|
|
239
280
|
- `xte`
|
240
281
|
- [xte(1) - Linux man page](https://linux.die.net/man/1/xte)
|
241
282
|
- install with `sudo apt xautomation`
|
283
|
+
|
284
|
+
- [ydotool](https://github.com/ReimuNotMoe/ydotool)
|
285
|
+
- Wayland compatible
|
286
|
+
- Needs more maintainers.
|
287
|
+
- Requires only replacing `xdotool` with `ydotool` in fusuma conf.
|
242
288
|
|
243
289
|
## Options
|
244
290
|
|