fusuma 3.6.0 → 3.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 82378c097f2a0af57970c6ac59afbee3ef8e0ce2d0b2957ebc968673490c1623
4
- data.tar.gz: 7324182088a879f6ccc057a311945258bf49f3f255cda67c161b5e6d847871d5
3
+ metadata.gz: f33e5a3a9c8df27631e81c1bd9e4d9381e04a5a1c35717c0b70e76d44df840e5
4
+ data.tar.gz: 2ce6df664b39c46fc7d9262a7167a27cccf181c567a82305e0378f2b4a3f0a3d
5
5
  SHA512:
6
- metadata.gz: deb0bc67936c61576f2ef0fa69ac0db89233ae2765633fe0da946368c91f0d2930520cea15a451119b79f451c8e103efb74b84a2fda2bbb9982625a29f560e65
7
- data.tar.gz: ea89aef6ec99904287cd958c03beaf46f031b71757293bf77b8920d2b2cb5ead60f2cf525800644537d7a8e3f68aee47323f31f81a579f8a8bb8ebcc57eaccd9
6
+ metadata.gz: 85627e1ff3d1b7ec4b0b3e61120e7aa4f3e366104018965d8fc96c9188e798feff37ce2073acc8253f1d1c7eeea7cc5191d607e563dedfc8a1e54f9cc12702f6
7
+ data.tar.gz: b4fac91bfef1192626f0b418383eaa9b4cb4d42b7661a520527bc3138f961fcf4b32a86f36265c9770521052b6d2c89d2794e720982928cd23db3071b5c405b0
data/README.md CHANGED
@@ -11,10 +11,10 @@ This gem makes your linux able to recognize swipes or pinchs and assign commands
11
11
  ## Features
12
12
 
13
13
  - Easy installation with RubyGems
14
- - Defining Gestures and Actions in YAML
15
- - Sensitivity setting (threshold, interval) for gesture recognition
16
- - Automatic device addition for reconnecting external touchpads
17
- - Extension of gesture recognition by [plugin system](https://github.com/iberianpig/fusuma/#fusuma-plugins)
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)
18
18
 
19
19
  ## Installation
20
20
 
@@ -35,9 +35,9 @@ newgrp input
35
35
  **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.**
36
36
 
37
37
  <details>
38
- <summary>For Debian Based Distros (Ubuntu, Debian, Mint, Pop!OS)</summary>
38
+ <summary>For Debian Based Distros (Ubuntu, Debian, Mint, Pop!_OS)</summary>
39
39
 
40
- ### For Debian Based Distros (Ubuntu, Debian, Mint, Pop!OS)
40
+ ### For Debian Based Distros (Ubuntu, Debian, Mint, Pop!_OS)
41
41
 
42
42
  #### 1. Install libinput-tools
43
43
 
@@ -258,8 +258,8 @@ The following wiki pages can be edited by everyone.
258
258
  - [elementary OS](https://github.com/iberianpig/fusuma/wiki/elementary-OS)
259
259
  - [i3](https://github.com/iberianpig/fusuma/wiki/i3)
260
260
  - [KDE to mimic MacOS](https://github.com/iberianpig/fusuma/wiki/KDE-to-mimic-MacOS)
261
- - [POP OS with Cinnamon](https://github.com/iberianpig/fusuma/wiki/POP-OS-with-Cinnamon)
262
- - [PopOS Default Gnome](https://github.com/iberianpig/fusuma/wiki/PopOS-Default-Gnome)
261
+ - [Pop!_OS with Cinnamon](https://github.com/iberianpig/fusuma/wiki/POP-OS-with-Cinnamon)
262
+ - [Pop!_OS Default Gnome](https://github.com/iberianpig/fusuma/wiki/PopOS-Default-Gnome)
263
263
  - [Ubuntu OS to mimic Mac a little](https://github.com/iberianpig/fusuma/wiki/Ubuntu-OS-to-mimic-Mac-a-little)
264
264
  - [3 fingers Drag (OS X Style)](https://github.com/iberianpig/fusuma/wiki/3-fingers-Drag-(OS-X-Style))
265
265
  - [3 fingers Alt Tab Switcher(Windows Style)](https://github.com/iberianpig/fusuma/wiki/3-fingers-Alt-Tab-Switcher(Windows-Style))
@@ -420,7 +420,7 @@ sudo gem list fusuma-plugin- | cut -d' ' -f1 | xargs --no-run-if-empty sudo gem
420
420
 
421
421
  ## Tutorial Video
422
422
 
423
- [![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")
423
+ [![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
424
  [Multitouch Touchpad Gestures in Linux with Fusuma](http://www.youtube.com/watch?v=bn11Iwvf29I) by [Eric Adams](https://www.youtube.com/user/igster75)
425
425
 
426
426
  ## Support
data/lib/fusuma/device.rb CHANGED
@@ -66,7 +66,7 @@ module Fusuma
66
66
  line_parser = LineParser.new
67
67
 
68
68
  libinput_command = Plugin::Inputs::LibinputCommandInput.new.command
69
- # note: this libinput command takes a nontrivial amout of time (~200ms)
69
+ # note: this libinput command takes a nontrivial amount of time (~200ms)
70
70
  libinput_command.list_devices do |line|
71
71
  line_parser.push(line)
72
72
  end
@@ -22,7 +22,7 @@ module Fusuma
22
22
 
23
23
  # @return [String]
24
24
  def version
25
- # versiom_command prints "1.6.3\n"
25
+ # version_command prints "1.6.3\n"
26
26
  @version ||= `#{version_command}`.strip
27
27
  end
28
28
 
@@ -39,11 +39,7 @@ module Fusuma
39
39
 
40
40
  # @return [Integer] return a latest line libinput debug-events
41
41
  def debug_events(writer)
42
- @debug_events ||= begin
43
- t = Open3.pipeline_start([debug_events_with_options], ["grep -v POINTER_ --line-buffered"],
44
- out: writer, in: "/dev/null")
45
- t[0].pid
46
- end
42
+ Open3.pipeline_start([debug_events_with_options], ["grep -v POINTER_ --line-buffered"], out: writer, in: "/dev/null")
47
43
  end
48
44
 
49
45
  # @return [String] command
@@ -53,9 +53,8 @@ module Fusuma
53
53
 
54
54
  next if param_types.any? { |klass| val.is_a?(klass) }
55
55
 
56
- MultiLogger.error("Please fix config.yml.")
57
- MultiLogger.error(":#{config_index.keys.map(&:symbol)
58
- .join(" => :")} => :#{key} should be #{param_types.join(" OR ")}.")
56
+ MultiLogger.error("Please fix config.yml")
57
+ MultiLogger.error("`#{config_index.keys.join(".")}.#{key}` should be #{param_types.join(" OR ")}.")
59
58
  exit 1
60
59
  end
61
60
  end
@@ -12,7 +12,7 @@ module Fusuma
12
12
  DEFAULT_SECONDS_TO_KEEP = 100
13
13
 
14
14
  def initialize(*args)
15
- super(*args)
15
+ super
16
16
  @cache = {}
17
17
  @cache_select_by = {}
18
18
  @cache_sum10 = {}
@@ -9,7 +9,7 @@ module Fusuma
9
9
  # Inherite this base
10
10
  class Detector < Base
11
11
  def initialize(*args)
12
- super(*args)
12
+ super
13
13
  @tag = self.class.tag
14
14
  @type = self.class.type
15
15
  end
@@ -12,10 +12,10 @@ module Fusuma
12
12
  BUFFER_TYPE = "gesture"
13
13
  GESTURE_RECORD_TYPE = "hold"
14
14
 
15
- BASE_THERESHOLD = 0.7
15
+ BASE_THRESHOLD = 0.7
16
16
 
17
17
  def initialize(*args)
18
- super(*args)
18
+ super
19
19
  @timer = Inputs::TimerInput.instance
20
20
  end
21
21
 
@@ -134,7 +134,7 @@ module Fusuma
134
134
  keys_global = Config::Index.new ["threshold", type]
135
135
  config_value = Config.search(keys_specific) ||
136
136
  Config.search(keys_global) || 1
137
- BASE_THERESHOLD * config_value
137
+ BASE_THRESHOLD * config_value
138
138
  end
139
139
  end
140
140
  end
@@ -11,7 +11,7 @@ module Fusuma
11
11
  GESTURE_RECORD_TYPE = "pinch"
12
12
 
13
13
  FINGERS = [2, 3, 4].freeze
14
- BASE_THERESHOLD = 1.3
14
+ BASE_THRESHOLD = 1.3
15
15
 
16
16
  # @param buffers [Array<Buffer>]
17
17
  # @return [Events::Event] if event is detected
@@ -141,7 +141,7 @@ module Fusuma
141
141
  keys_global = Config::Index.new ["threshold", type]
142
142
  config_value = Config.search(keys_specific) ||
143
143
  Config.search(keys_global) || 1
144
- BASE_THERESHOLD * config_value
144
+ BASE_THRESHOLD * config_value
145
145
  end
146
146
  end
147
147
 
@@ -11,7 +11,7 @@ module Fusuma
11
11
  GESTURE_RECORD_TYPE = "pinch"
12
12
 
13
13
  FINGERS = [2, 3, 4].freeze
14
- BASE_THERESHOLD = 0.5
14
+ BASE_THRESHOLD = 0.5
15
15
 
16
16
  # @param buffers [Array<Buffer>]
17
17
  # @return [Events::Event] if event is detected
@@ -126,7 +126,7 @@ module Fusuma
126
126
  keys_global = Config::Index.new ["threshold", type]
127
127
  config_value = Config.search(keys_specific) ||
128
128
  Config.search(keys_global) || 1
129
- BASE_THERESHOLD * config_value
129
+ BASE_THRESHOLD * config_value
130
130
  end
131
131
  end
132
132
 
@@ -11,7 +11,7 @@ module Fusuma
11
11
  GESTURE_RECORD_TYPE = "swipe"
12
12
 
13
13
  FINGERS = [3, 4].freeze
14
- BASE_THERESHOLD = 25
14
+ BASE_THRESHOLD = 25
15
15
 
16
16
  # @param buffers [Array<Buffers::Buffer>]
17
17
  # @return [Events::Event] if event is detected
@@ -124,7 +124,7 @@ module Fusuma
124
124
  keys_global = Config::Index.new ["threshold", type]
125
125
  config_value = Config.search(keys_specific) ||
126
126
  Config.search(keys_global) || 1
127
- BASE_THERESHOLD * config_value
127
+ BASE_THRESHOLD * config_value
128
128
  end
129
129
  end
130
130
 
@@ -36,7 +36,7 @@ module Fusuma
36
36
  # @return [NilClass] when merge is not succeeded
37
37
  def merge(records:, index: @index)
38
38
  # FIXME: cache
39
- raise "position is NOT body: #{self}" unless mergable?
39
+ raise "position is NOT body: #{self}" unless mergeable?
40
40
 
41
41
  if records.empty?
42
42
  if Config.instance.find_execute_key(index)
@@ -76,7 +76,7 @@ module Fusuma
76
76
  end
77
77
  end
78
78
 
79
- def mergable?
79
+ def mergeable?
80
80
  @position == :body
81
81
  end
82
82
  end
@@ -10,7 +10,7 @@ module Fusuma
10
10
  # @abstract Subclass and override {#io} to implement
11
11
  class Input < Base
12
12
  def initialize(*args)
13
- super(*args)
13
+ super
14
14
  @tag = self.class.name.split("Inputs::").last.underscore
15
15
  end
16
16
 
@@ -43,11 +43,6 @@ module Fusuma
43
43
  exit 1
44
44
  end
45
45
 
46
- # @return [Integer]
47
- def pid
48
- raise NotImplementedError, "override #{self.class.name}##{__method__}"
49
- end
50
-
51
46
  # @return [IO]
52
47
  def io
53
48
  raise NotImplementedError, "override #{self.class.name}##{__method__}"
@@ -8,8 +8,6 @@ module Fusuma
8
8
  module Inputs
9
9
  # libinput commands wrapper
10
10
  class LibinputCommandInput < Input
11
- attr_reader :pid
12
-
13
11
  def config_param_types
14
12
  {
15
13
  device: [String],
@@ -27,7 +25,7 @@ module Fusuma
27
25
  def io
28
26
  @io ||= begin
29
27
  reader, writer = create_io
30
- @pid = command.debug_events(writer)
28
+ command.debug_events(writer)
31
29
  reader
32
30
  end
33
31
  end
@@ -23,12 +23,12 @@ module Fusuma
23
23
  @early_wake_queue = Queue.new
24
24
  end
25
25
 
26
- attr_reader :pid, :interval
26
+ attr_reader :interval
27
27
 
28
28
  def io
29
29
  @io ||= begin
30
30
  reader, writer = create_io
31
- @pid = start(reader, writer)
31
+ start(reader, writer)
32
32
 
33
33
  reader
34
34
  end
@@ -38,7 +38,6 @@ module Fusuma
38
38
  Thread.new do
39
39
  timer_loop(writer)
40
40
  end
41
- nil
42
41
  end
43
42
 
44
43
  def timer_loop(writer)
@@ -40,6 +40,7 @@ module Fusuma
40
40
  plugin_gemspec = Gem::Specification.load(plugin_gemspec_path)
41
41
  fusuma_gemspec_path = File.expand_path("../../../fusuma.gemspec", __dir__)
42
42
  fusuma_gemspec = Gem::Specification.load(fusuma_gemspec_path)
43
+ next if plugin_gemspec == fusuma_gemspec
43
44
 
44
45
  if plugin_gemspec.dependencies.find { |d| d.name == "fusuma" }&.match?(fusuma_gemspec)
45
46
  siblings_plugin
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fusuma
4
- VERSION = "3.6.0"
4
+ VERSION = "3.6.2"
5
5
  end
data/lib/fusuma.rb CHANGED
@@ -148,7 +148,7 @@ module Fusuma
148
148
  # @return [NilClass] when event is NOT given
149
149
  def merge(events)
150
150
  index_events, context_events = events.partition { |event| event.record.type == :index }
151
- main_events, modifiers = index_events.partition { |event| event.record.mergable? }
151
+ main_events, modifiers = index_events.partition { |event| event.record.mergeable? }
152
152
  request_context = context_events.each_with_object({}) do |e, results|
153
153
  results[e.record.name] = e.record.value
154
154
  end
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.6.0
4
+ version: 3.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - iberianpig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-02 00:00:00.000000000 Z
11
+ date: 2024-09-21 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