fusuma-plugin-appmatcher 0.9.0 → 0.10.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 01dac2dad9fcdf720ae85a3d640e1f41d22b34cff26f688b8eb05ecff25ed354
|
|
4
|
+
data.tar.gz: 1bf60e0762ce6ea974de6006c7c8bba37eb596d64655905db14e1072b4a4a48e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ce5c29f65ae143c0d345cae02082345e5f32fcf3b5ba18ad711ce0c9da6b205f8895a9636c733971e0ce060529b921876d414d1295b4e79e46f584a4a6f13f8c
|
|
7
|
+
data.tar.gz: 468eab88d695b833d383d04088111cd7656fab4ee6921cef081737f8170b110e377780012e099bb1d95acc788d4bef9b583f53993a50f8ba69aed75ebbaace53
|
|
@@ -23,6 +23,8 @@ module Fusuma
|
|
|
23
23
|
|
|
24
24
|
record = buffer.events.last.record
|
|
25
25
|
|
|
26
|
+
update_layer(record.name) if layer_manager_available?
|
|
27
|
+
|
|
26
28
|
context_record = Events::Records::ContextRecord.new(
|
|
27
29
|
name: "application",
|
|
28
30
|
value: record.name
|
|
@@ -30,6 +32,38 @@ module Fusuma
|
|
|
30
32
|
|
|
31
33
|
create_event(record: context_record)
|
|
32
34
|
end
|
|
35
|
+
|
|
36
|
+
private
|
|
37
|
+
|
|
38
|
+
# Check fusuma-plugin-remap is installed for layer management
|
|
39
|
+
def layer_manager_available?
|
|
40
|
+
return @layer_manager_available if defined?(@layer_manager_available)
|
|
41
|
+
|
|
42
|
+
@layer_manager_available = Plugin::Manager.plugins[Inputs::Input.name]&.any? { |klass|
|
|
43
|
+
klass.name == "Fusuma::Plugin::Inputs::RemapKeyboardInput"
|
|
44
|
+
} || false
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def layer_manager
|
|
48
|
+
require "fusuma/plugin/remap/layer_manager"
|
|
49
|
+
Fusuma::Plugin::Remap::LayerManager.instance
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Update layer on application change
|
|
53
|
+
# - On first detection: add current app as layer
|
|
54
|
+
# - On app change: remove previous layer and add new layer
|
|
55
|
+
# - On same app: do nothing
|
|
56
|
+
def update_layer(current_app)
|
|
57
|
+
return if @previous_app == current_app
|
|
58
|
+
|
|
59
|
+
if @previous_app
|
|
60
|
+
layer_manager.send_layer(layer: {application: @previous_app}, remove: true)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
layer_manager.send_layer(layer: {application: current_app})
|
|
64
|
+
|
|
65
|
+
@previous_app = current_app
|
|
66
|
+
end
|
|
33
67
|
end
|
|
34
68
|
end
|
|
35
69
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fusuma-plugin-appmatcher
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.10.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- iberianpig
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-01-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rexml
|