xkeyrap 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/xkeyrap +0 -2
- data/lib/xkeyrap/command.rb +1 -0
- data/lib/xkeyrap/key.rb +0 -3
- data/lib/xkeyrap/version.rb +1 -1
- data/lib/xkeyrap.rb +6 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c15516786f57425708b4d610b99c2ea14b7fcdc4153c42697cf0f604df919cbe
|
4
|
+
data.tar.gz: b23372edd1e9e521bf7c3a957e49b3ada9e5df948dea5da29d1f257ef03d40cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ca445bb0c5f0c664a4c0c4e9d4c33643e5e6f85423e56a4f2b32121300ac3f94ef1a86a4a2c5aa0dcd2e8af112effbca3e5b21548c7566e44c6eece4be26870
|
7
|
+
data.tar.gz: 271f0fd8eff5b24be135423917285c45140f8f421796f773f166081ee6682eaf30e4e56d2173b64bc8c0450a352f8a7731631508b65eba4052eecd3e9544d7bf
|
data/bin/xkeyrap
CHANGED
data/lib/xkeyrap/command.rb
CHANGED
data/lib/xkeyrap/key.rb
CHANGED
data/lib/xkeyrap/version.rb
CHANGED
data/lib/xkeyrap.rb
CHANGED
@@ -9,6 +9,7 @@ require 'uinput/device'
|
|
9
9
|
|
10
10
|
module Xkeyrap
|
11
11
|
class Cli
|
12
|
+
|
12
13
|
def self.run(device)
|
13
14
|
display = XlibObj::Display.new(':0')
|
14
15
|
device = Uinput::Device.new do
|
@@ -28,7 +29,7 @@ module Xkeyrap
|
|
28
29
|
|
29
30
|
command = Command.new(device, nil)
|
30
31
|
|
31
|
-
keyboard.on(*Xkeyrap::Key::ALL_KEYS) do |state, key|
|
32
|
+
key_handler = keyboard.on(*Xkeyrap::Key::ALL_KEYS) do |state, key|
|
32
33
|
root_window = display.screens.first.root_window
|
33
34
|
top_level_windows = root_window.property(:_NET_CLIENT_LIST_STACKING)
|
34
35
|
focused_window = display.focused_window
|
@@ -56,14 +57,10 @@ module Xkeyrap
|
|
56
57
|
parent = FFI::MemoryPointer.new :Window
|
57
58
|
number = FFI::MemoryPointer.new :uint
|
58
59
|
children = FFI::MemoryPointer.new :pointer
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
parent_window.property("WM_CLASS")[1]
|
64
|
-
rescue
|
65
|
-
"global"
|
66
|
-
end
|
60
|
+
q = Xlib.XQueryTree(display.to_native, focused_window.to_native, root, parent, children, number)
|
61
|
+
parent_window_id = parent.read(:int)
|
62
|
+
parent_window = top_level_windows.select {|tlw| tlw.id == parent_window_id }.first
|
63
|
+
parent_window.property("WM_CLASS")[1]
|
67
64
|
end
|
68
65
|
end
|
69
66
|
end
|