fusuma 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea61b72e99beea075544c95d3a3307161d471feb2849d27eda02f469a0597afb
4
- data.tar.gz: cccc575de906c854c49655c80848e97c4f5be4bc6e8f48645f30f5277ea25f5a
3
+ metadata.gz: fcdbd20f4f5c91e04133f135869a38c5f6c9e4dd3dfb49dd88930baa65a989f0
4
+ data.tar.gz: a4885c3d8cb292cad9af3bb28cbb444f460cd5d2a6c3b989951de114587dbe55
5
5
  SHA512:
6
- metadata.gz: cad08188f1318b0e6ccfb2630ff6d2a8960289f084d3390e2870d97ed0743d4868dd0ed4218238be1b73048f7bcd841fdb50c74ed3306ff4a56773261032e14d
7
- data.tar.gz: 77c81733d411db62f3eeb55a87f55ba25cacc9e2dba495fd0026b5cae2e0f095c447458a6506f4cf81efec71dcbe4caab4b461bbc17e78c9467d344a5c3b2112
6
+ metadata.gz: d110077da416736b0ead983657d0b1ce900b8ac9a58e9c5f9373f6483bb3c6b97120918610f7d8eb5e9bf73183dc273c29c2c5b92ae0378617962ae101d29489
7
+ data.tar.gz: 2bf50d5806c511858484305b930dea41e5adfc8b22acdf9a782c15db7b4aba8c648c98defbcedb670d273bb08c13b5240b3d951882473e65bc584ade638c8dc1
data/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # Fusuma
2
2
  ![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)
3
3
 
4
- Fusuma is multitouch gesture recognizer.
5
- This gem makes your linux able to recognize swipes or pinchs and assign commands to them.
4
+ Fusuma is a powerful tool designed to enable multitouch gesture recognition on Linux, providing intuitive operations for users. By utilizing gestures like swipes and pinches on laptops and devices with touchpads, you can create a more efficient working environment.
6
5
 
7
6
  ![fusuma_image](https://repository-images.githubusercontent.com/69813387/60879a00-166c-11ea-9875-3bf0818c62ec)
8
7
 
@@ -10,11 +9,12 @@ This gem makes your linux able to recognize swipes or pinchs and assign commands
10
9
 
11
10
  ## Features
12
11
 
13
- - Easy installation with RubyGems
14
- - Define gestures and actions in YAML format
15
- - Sensitivity settings (threshold, interval) for gesture recognition
16
- - Automatic addition of external touchpads
17
- - Feature extension via a [plugin system](https://github.com/iberianpig/fusuma/#fusuma-plugins)
12
+ - **Easy Installation**: Quick setup via RubyGems.
13
+ - **Flexible Configuration**: Customize gestures and actions freely in YAML file format.
14
+ - **Sensitivity Settings**: Fine-tune gesture recognition with adjustable thresholds and intervals to suit your preferences and enhance precision.
15
+ - **Extension through Plugins**: A [plugin system](https://github.com/iberianpig/fusuma/#fusuma-plugins) allows for additional functionality as needed.
16
+
17
+ Enhance your Linux experience by evolving your interaction with Fusuma!
18
18
 
19
19
  ## Installation
20
20
 
@@ -379,22 +379,40 @@ plugin:
379
379
  - "EXTERNAL TOUCHPAD NAME"
380
380
  ```
381
381
 
382
- ## Autostart (gnome-session-properties)
382
+ ## Autostart
383
+
384
+ ### Method 1: Using gnome-session-properties
383
385
 
384
386
  1. Check the path where you installed fusuma with `which fusuma`
385
387
  2. Open `gnome-session-properties`
386
388
  3. Add Fusuma and enter the location where the above path was checked in the command input field
387
389
  4. Add the `-d` option at the end of the command input field
388
390
 
389
- ## Fusuma Plugins
391
+ ### Method 2: Creating a Desktop Entry Manually
392
+
393
+ 1. Check the path where you installed fusuma with `which fusuma`
394
+ 2. Create a new file named `fusuma.desktop` in the `~/.config/autostart/` directory.
395
+ 3. Add the following content to the `fusuma.desktop` file:
396
+
397
+ ```ini
398
+ [Desktop Entry]
399
+ Name=fusuma
400
+ Comment=run fusuma
401
+ Exec={path_to_fusuma} -d --log=/tmp/fusuma.log
402
+ Icon=input-touchpad
403
+ X-GNOME-Autostart-enabled=true
404
+ Type=Application
405
+ ```
406
+
407
+ Replace `{path_to_fusuma}` with the path obtained from `which fusuma`.
408
+ 4. Save the file and ensure its permissions are correctly set to be executable.
409
+ 5. Restart your system or session to verify that fusuma starts automatically.
390
410
 
391
- Following features are provided as plugins.
411
+ ## Fusuma Plugins
392
412
 
393
- - Adding new gestures or combinations
394
- - Features for specific Linux distributions
395
- - Setting different gestures per applications
413
+ Fusuma's functionality can be extended with a variety of plugins. Below is a list of available plugins along with their purposes:
396
414
 
397
- ### Available plugins
415
+ ### Available Plugins
398
416
 
399
417
  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).
400
418
 
@@ -423,14 +441,14 @@ sudo gem list fusuma-plugin- | cut -d' ' -f1 | xargs --no-run-if-empty sudo gem
423
441
  [![Multitouch Touchpad Gestures in Linux with Fusuma](http://img.youtube.com/vi/bn11Iwvf29I/0.jpg)](http://www.youtube.com/watch?v=bn11Iwvf29I "Multitouch Touchpad Gestures in Linux with Fusuma")
424
442
  [Multitouch Touchpad Gestures in Linux with Fusuma](http://www.youtube.com/watch?v=bn11Iwvf29I) by [Eric Adams](https://www.youtube.com/user/igster75)
425
443
 
426
- ## Support
444
+ ### Support and Sponsorship
445
+
446
+ If you enjoy working on Fusuma or find it beneficial, consider supporting the developer through [GitHub Sponsors](https://github.com/sponsors/iberianpig).
427
447
 
428
448
  I'm a Freelance Engineer in Japan and working on these products after finishing my regular work or on my holidays.
429
449
  Currently, my open-source contribution times is not enough.
430
450
  If you like my work and want to contribute and become a sponsor, I will be able to focus on my projects.
431
451
 
432
- - [GitHub Sponsors](https://github.com/sponsors/iberianpig)
433
-
434
452
  ## Contributing
435
453
 
436
454
  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.
@@ -46,7 +46,7 @@ module Fusuma
46
46
  } # Trap ^C
47
47
  Signal.trap("TERM") {
48
48
  shutdown
49
- exit
49
+ exit 1
50
50
  } # Trap `Kill `
51
51
  end
52
52
  end
@@ -6,6 +6,7 @@ module Fusuma
6
6
  # Execute libinput command
7
7
  class LibinputCommand
8
8
  def initialize(libinput_options: [], commands: {})
9
+ @libinput_command = commands[:libinput_command]
9
10
  @debug_events_command = commands[:debug_events_command]
10
11
  @list_devices_command = commands[:list_devices_command]
11
12
  @libinput_options = libinput_options
@@ -50,7 +51,9 @@ module Fusuma
50
51
  # @return [String] command
51
52
  # @raise [SystemExit]
52
53
  def version_command
53
- if @debug_events_command && @list_devices_command
54
+ if @libinput_command
55
+ "#{@libinput_command} --version"
56
+ elsif @debug_events_command && @list_devices_command
54
57
  "#{@list_devices_command} --version"
55
58
  elsif which("libinput")
56
59
  "libinput --version"
@@ -63,7 +66,9 @@ module Fusuma
63
66
  end
64
67
 
65
68
  def list_devices_command
66
- if @list_devices_command
69
+ if @libinput_command
70
+ @libinput_command + " list-devices"
71
+ elsif @list_devices_command
67
72
  @list_devices_command
68
73
  elsif new_cli_option_available?
69
74
  "libinput list-devices"
@@ -73,7 +78,9 @@ module Fusuma
73
78
  end
74
79
 
75
80
  def debug_events_command
76
- if @debug_events_command
81
+ if @libinput_command
82
+ @libinput_command + " debug-events"
83
+ elsif @debug_events_command
77
84
  @debug_events_command
78
85
  elsif new_cli_option_available?
79
86
  "libinput debug-events"
@@ -16,6 +16,7 @@ module Fusuma
16
16
  "enable-tap": [TrueClass, FalseClass],
17
17
  "show-keycodes": [TrueClass, FalseClass],
18
18
  verbose: [TrueClass, FalseClass],
19
+ "libinput-command": [String],
19
20
  "libinput-debug-events": [String],
20
21
  "libinput-list-devices": [String]
21
22
  }
@@ -35,6 +36,7 @@ module Fusuma
35
36
  @command ||= LibinputCommand.new(
36
37
  libinput_options: libinput_options,
37
38
  commands: {
39
+ libinput_command: libinput_command,
38
40
  debug_events_command: debug_events_command,
39
41
  list_devices_command: list_devices_command
40
42
  }
@@ -59,6 +61,10 @@ module Fusuma
59
61
  ].compact
60
62
  end
61
63
 
64
+ def libinput_command
65
+ config_params(:"libinput-command")
66
+ end
67
+
62
68
  def debug_events_command
63
69
  config_params(:"libinput-debug-events")
64
70
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fusuma
4
- VERSION = "3.7.0"
4
+ VERSION = "3.8.0"
5
5
  end
data/lib/fusuma.rb CHANGED
@@ -200,7 +200,7 @@ module Fusuma
200
200
  } # Trap ^C
201
201
  Signal.trap("TERM") {
202
202
  shutdown
203
- exit
203
+ exit 1
204
204
  } # Trap `Kill `
205
205
  end
206
206
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fusuma
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.0
4
+ version: 3.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - iberianpig
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-24 00:00:00.000000000 Z
11
+ date: 2025-04-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Fusuma is multitouch gesture recognizer. This gem makes your touchpad
14
14
  on Linux able to recognize swipes or pinchs and assign command to them. Read installation
@@ -72,7 +72,7 @@ licenses:
72
72
  metadata:
73
73
  rubygems_mfa_required: 'true'
74
74
  yard.run: yri
75
- post_install_message:
75
+ post_install_message:
76
76
  rdoc_options: []
77
77
  require_paths:
78
78
  - lib
@@ -88,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  version: '0'
89
89
  requirements: []
90
90
  rubygems_version: 3.4.19
91
- signing_key:
91
+ signing_key:
92
92
  specification_version: 4
93
93
  summary: Multitouch gestures with libinput driver, Linux
94
94
  test_files: []