xdrp 0.2.0 → 0.2.1

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.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/lib/xdrp.rb +36 -10
  4. data.tar.gz.sig +0 -0
  5. metadata +1 -1
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 877d673daa2960b793ced8a05fe174b7c5b314bcf87731b4a117f4e2440daf27
4
- data.tar.gz: '09449b766c010a1dc6fd3412101cd4fee9fa4b935d680ec7c0d1c3ea8a3040b2'
3
+ metadata.gz: 737ab10b27c806f92b76fd5c622e913df7ae8b97d3027a30c2d37cf27714ca33
4
+ data.tar.gz: 1145d42168fddfb29b70c8339d4a80717873160d261a93cfced4ea17186bf2c4
5
5
  SHA512:
6
- metadata.gz: f6c4fb1c63da4598afaf563f7493830fae943c38e0cd885e3460ec6e4dc8ccc2f75b36e5e6d291840d191ff6bc9ce24cfb8148c795b5e4cdc565392bc4ebd4f0
7
- data.tar.gz: ea8cafca863a30340179a4f8666d1d3684f64ee89a89716c1ef551cd95961060c9735b3ebe44b30ddcd919fca85a7395e8f8def615440d45cac335ac3e1e7a56
6
+ metadata.gz: 7de5de83cfae5ff60214a93ec8ffab23f5d0429656c8c86273dcb54c330fa99059ac4a9d1d5fbf5787d9fde50d065c63c18c7d2ea4e26241c0ead56b1ca603f3
7
+ data.tar.gz: 6fc90d8cb24aafde37c44895563b17b585bf50eb9d3794f387c6cd62d32a4dc386cfd3ab3e0104b308965085915f667da604fe4f32f9b74ad5d8a95a47df04d8
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/xdrp.rb CHANGED
@@ -33,8 +33,6 @@ module Xdrp
33
33
 
34
34
  def initialize(levelx=KEYBOARD_MOUSE, level: levelx, debug: false)
35
35
 
36
- @xiw = XInputWrapper.new(verbose: true, debug: debug, callback: self)
37
-
38
36
  @mouse, @keyboard = false, false
39
37
 
40
38
  case level
@@ -45,6 +43,13 @@ module Xdrp
45
43
  when 3
46
44
  @mouse, @keyboard = true, true
47
45
  end
46
+
47
+
48
+ @xiw = XInputWrapper.new(verbose: true, debug: debug, callback: self)
49
+
50
+ @wm = WMCtrl.display
51
+ @win_title = ''
52
+
48
53
  end
49
54
 
50
55
  def on_keypress(key, keycode, modifier=nil)
@@ -80,12 +85,12 @@ module Xdrp
80
85
  %w[) ! " £ $ % ^ & * ( ][key.to_s.to_i]
81
86
  else
82
87
 
83
- lsym = %w(` - = [ ] ; ' # \ , . /)
88
+ lsym = %i(` - = [ ] ; ' # \ , . /)
84
89
 
85
- if lsym.include? key.to_s then
90
+ if lsym.include? key then
86
91
 
87
92
  usym = %w(¬ _ + { } : @ ~ | < > ?)
88
- lsym.zip(usym).to_h[key.to_s]
93
+ lsym.zip(usym).to_h[key]
89
94
 
90
95
  end
91
96
 
@@ -118,7 +123,8 @@ module Xdrp
118
123
 
119
124
  def on_mousedown(button, x, y)
120
125
 
121
- return unless @mouse
126
+ return unless @mouse
127
+ monitor_app()
122
128
 
123
129
  puts "mouse %s button down at %s, %s" % [button, x, y] if @debug
124
130
  add_sleep() if Time.now > (@t1 + 2)
@@ -129,7 +135,6 @@ module Xdrp
129
135
  def on_mouseup(button, x, y)
130
136
 
131
137
  return unless @mouse
132
-
133
138
  puts "mouse %s button up at %s, %s" % [button, x, y] if @debug
134
139
  end
135
140
 
@@ -194,6 +199,17 @@ module Xdrp
194
199
  @a << [:sleep, {duration: (Time.now - @t1).round}]
195
200
  @t1 = Time.now
196
201
  end
202
+
203
+ def monitor_app()
204
+
205
+ win = @wm.windows.find {|x| x.active}
206
+
207
+ if win.title != @win_title then
208
+ @win_title = win.title
209
+ @a << [:window, {activate: win.title}]
210
+ end
211
+
212
+ end
197
213
 
198
214
  end
199
215
 
@@ -202,7 +218,8 @@ module Xdrp
202
218
  def initialize(src, debug: false)
203
219
 
204
220
  @debug = debug
205
- @doc = Rexle.new(RXFHelper.read(src).first)
221
+ @doc = Keystroker.new(src, debug: debug).to_doc
222
+ puts '@doc.xml: ' + @doc.xml if @debug
206
223
 
207
224
  end
208
225
 
@@ -238,13 +255,22 @@ module Xdrp
238
255
  sleep duration.to_f
239
256
  end
240
257
 
241
- def xdo_tab(h={})
242
- XDo::Keyboard.tab
258
+ def xdo_tab(times: 1)
259
+ times.to_i.times.each { XDo::Keyboard.tab }
243
260
  end
244
261
 
245
262
  def xdo_type(s)
246
263
  XDo::Keyboard.simulate(s.gsub('{enter}', "\n"))
247
264
  end
265
+
266
+ def xdo_window(activate: '')
267
+
268
+ wm = WMCtrl.display
269
+ window = wm.windows.find {|x| x.title == activate}
270
+ window.activate
271
+
272
+ end
273
+
248
274
 
249
275
  end
250
276
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xdrp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file