xautobrowse 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ccc76cd36b9b1a4ed1db3be63ee734bc8b4d3ba
4
- data.tar.gz: c947ce6a6d1d718343ca9ebe71d4197ec54d0948
3
+ metadata.gz: 4a98ad02b9ca15c528bd77d851d96d1405a782f3
4
+ data.tar.gz: 40feedea4769332549a574708afb3198343f8130
5
5
  SHA512:
6
- metadata.gz: 63e7316ef1e5a531e853f5402e6b8482c267d785cd0730dbff0935522447e75fb90f4ca7f2843a4a29e3347a6b6c90d6af0ce29689e395e0084961e6f2c552e8
7
- data.tar.gz: adc643a9601e25c1e09eb82ffbc4aef15998de9db43dd3ed042d90514c73359127536fa0eb170f525c5881a495ce80bb9e198b67a9c17d239a145139b312f00b
6
+ metadata.gz: 6d654981f154feeb36bbe40448f583024e6c9038033307be1a3bd71f9a191dbdd5b6c347ce7db9fc40375e054b4fdcdf9ab33322fe0ec15ea43be56c51e1664d
7
+ data.tar.gz: d6cb140ebacd73bb129d003e7672b3e981439745890fe37425a0b60bf1b7dae804e68042bfd5d49471f6b5258a23588cb2ba9915d96bc4732d62705fa0896bdf
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/xautobrowse.rb CHANGED
@@ -8,6 +8,9 @@
8
8
 
9
9
  # modifications
10
10
 
11
+ # 30 Jan 2018: feature: Now uses the gem universal_dom_remote to
12
+ # connect to the browser via websockets.
13
+ # A window can now be closed remotely.
11
14
  # 28 Jan 2018: feature: Chromium is now supported.
12
15
  # A custom accesskey can now be used to jump to an element.
13
16
 
@@ -18,6 +21,7 @@ require 'clipboard'
18
21
  require 'xdo/mouse'
19
22
  require 'xdo/keyboard'
20
23
  require 'xdo/xwindow'
24
+ require 'sps-pub'
21
25
  require 'universal_dom_remote'
22
26
 
23
27
 
@@ -26,11 +30,8 @@ class XAutoBrowse
26
30
  at_exit() do
27
31
 
28
32
  puts 'shutting down ...'
29
- EventMachine.stop
30
- sleep 3
31
- `ruby -r sps-pub -e "SPSPub.notice('shutdown', host: \
32
- '127.0.0.1', port: '55000'); sleep 0.4"`
33
-
33
+ EventMachine.stop
34
+ SPSPub.notice('shutdown', host: '127.0.0.1', port: '55000'); sleep 0.5
34
35
 
35
36
  end
36
37
 
@@ -40,11 +41,11 @@ class XAutoBrowse
40
41
  @browser, @debug = browser, debug
41
42
 
42
43
  @wm = WMCtrl.instance
43
- spawn(browser.to_s); sleep 5
44
+ spawn(browser.to_s); sleep 3
44
45
 
45
46
  id = XDo::XWindow.wait_for_window(browser)
46
- xwin = XDo::XWindow.new(id)
47
- title = xwin.title
47
+ @xwin = XDo::XWindow.new(id)
48
+ title = @xwin.title
48
49
  puts 'title: ' + title.inspect if @debug
49
50
 
50
51
  # WMCtrl is used because XDo is problematic at trying to activate a window
@@ -58,6 +59,7 @@ class XAutoBrowse
58
59
  Thread.new { open_web_console(); sleep 1; close_web_console() }
59
60
 
60
61
  connect()
62
+
61
63
  end
62
64
 
63
65
  # custom accesskey (e.g. CTRL+SHIFT+S) typically used to reference an
@@ -70,6 +72,7 @@ class XAutoBrowse
70
72
  def activate()
71
73
  @wm.action_window(@id, :activate)
72
74
  end
75
+
73
76
 
74
77
  # Attaches the SPS client to the web browser. The SPS broker must be
75
78
  # started before the code can be attached. see start_broker()
@@ -78,15 +81,21 @@ class XAutoBrowse
78
81
 
79
82
  activate()
80
83
  open_web_console(); sleep 1
81
-
84
+
85
+ clipboard = Clipboard.paste
82
86
  Clipboard.copy javascript(); sleep 1
83
87
  ctrl_v(); sleep 0.5
84
88
  carriage_return()
85
89
 
86
90
  close_web_console() if autohide
91
+ Clipboard.copy clipboard
87
92
 
88
93
  end
89
94
 
95
+ def close()
96
+ ctrl_w()
97
+ end
98
+
90
99
  def close_web_console()
91
100
  activate()
92
101
  ctrl_shift_i()
@@ -97,7 +106,7 @@ class XAutoBrowse
97
106
  def connect()
98
107
 
99
108
  start_broker()
100
- sleep 5
109
+ sleep 4
101
110
  connect_controller()
102
111
  end
103
112
 
@@ -137,10 +146,19 @@ class XAutoBrowse
137
146
  # paste
138
147
  #
139
148
  def ctrl_v() send_keys(:ctrl_v) end
149
+
150
+ # close the current window
151
+ #
152
+ def ctrl_w() send_keys(:ctrl_w) end
140
153
 
141
154
  # developer tools
142
155
  #
143
156
  def ctrl_shift_i() send_keys(:ctrl_shift_i) end
157
+
158
+ def height=(val)
159
+ @height = val
160
+ @wm.action_window(@id, :move_resize, 0, @x, @y, @width, @height)
161
+ end
144
162
 
145
163
  # submit a form by pressing return
146
164
  #
@@ -186,7 +204,7 @@ class XAutoBrowse
186
204
  console = @browser == :firefox ? :ctrl_shift_k : :ctrl_shift_i
187
205
  method(console).call # web console
188
206
 
189
- sleep 3
207
+ sleep 2
190
208
 
191
209
  end
192
210
 
@@ -250,6 +268,11 @@ class XAutoBrowse
250
268
 
251
269
  end
252
270
 
271
+ def width=(val)
272
+ @width = val
273
+ @wm.action_window(@id, :move_resize, 0, @x, @y, @width, @height)
274
+ end
275
+
253
276
  # input some text
254
277
  #
255
278
  def enter(s) type(s); sleep 0.8; carriage_return(); sleep 1 end
data.tar.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- ?&�7x�}Fz���m8 ��� ) /�R���喲խ�q��]bI7��z_{k'��2T�p)�8"AH�$�Q˫�#2��%*�ď�y��Hq7�V��]=#��TͶ
2
- ١��S����T8'&��6�Q��4%�����OU�.�u
3
- e�C�����"�D/ C��ìD�
1
+ }(E�EweV7�����.z�l���c���eJO{ྕ�u4p��H��u��E�ZJ[�;vٔ��YMWi���V&-����l�K��AW��>H�-y��~��Jy���Yul�)9j<����� ���3�J��RЂ����Ӑ����3��ZAq82�!"��#�;(��et&�S�-p������nX�����VB�Ε�m-����{J5~C��n1 V
2
+ "+��_�-5E|�\/�‚�9H[�t|W�Ѷz#}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xautobrowse
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