x4ss 0.1.1 → 0.2.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.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/lib/x4ss.rb +56 -8
  5. metadata +24 -4
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1dea6828b4f665b13afc8ec1c431cc2e6300804f60083d9d9efb51833d0694e
4
- data.tar.gz: 94e7f2d422c3701e11a6ee5a9a9fc5dc71b8bff561af43a52d9d43f537948b58
3
+ metadata.gz: 726a9ca0ea55ee32d4bda684cb8a07fa0aa23fcaff588afc40eabaaf7e7ff22e
4
+ data.tar.gz: c80f73f70c4328cf16d08105bf29cdae004628a2cc2171bbeac277a8bc79c575
5
5
  SHA512:
6
- metadata.gz: 2d7900fab9846762eb9213d85fcd7c810f57a16e1d44cf9557f1a24e5210cea01f8b321fb7b18ea410e6edcf9e362924499b285840fca4d36f56c67433ad2f0d
7
- data.tar.gz: 6204ba6f4321a054fbbfa1339f96176a540ce81ff609541889678f796bb0af2eaef36e2aafaaf445587c50c7fcbb54a1430b01bbad73b2307b3a89edbe5b7ff0
6
+ metadata.gz: c39042dd818dda12c38cc784ec6b9aa56c884eabc9e02ecd4712664bbeb93e258b793abbfd99e655bac8e95faaf65987640373cba10e3712d34c47bd3a3e5760
7
+ data.tar.gz: 98f5d0ffedd543bb2bbdf3edb20771b3280ac14ab3e5064d64b0fa4ab00689b774b202e6e9b5c407aaecd3cd0d99041474b79843e1b197f9e2777e73a7cdae26
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -3,30 +3,78 @@
3
3
  # file: x4ss.rb
4
4
 
5
5
  # A wrapper for xfce4-screenshooter and xclip to save screenshots
6
+ # Looking for a simple command-line progam? Try scrot.
7
+
8
+ require 'c32'
9
+
6
10
 
7
11
  class X4ss
12
+ using ColouredText
8
13
 
9
- def initialize(savefile=nil, mouse: false)
14
+ def initialize(savefile=nil, mouse: false, window: false, debug: false)
10
15
 
11
16
  @file = savefile
12
17
  @count = 1
13
- @mouse = mouse ? 't' : ''
18
+ @mouse = mouse ? 'm' : ''
19
+ @blob = []
20
+ @mode = window ? :window : :fullscreen
21
+ @debug = debug
14
22
 
15
23
  end
16
24
 
17
25
  # mode options: :window, :fullscreen
18
26
  #
19
- def capture(mode=:fullscreen)
27
+ def capture(mode=@mode)
28
+
29
+ blob = screenshot(mode)
30
+
31
+ if @file then
32
+
33
+ File.write @file % @count, blob
34
+
35
+ end
36
+
37
+ @count += 1
38
+ @blob << blob
20
39
 
21
- area = mode == :fullscreen ? 'f' : 'w'
22
- `xfce4-screenshooter -c#{area}#{@mouse}`
23
- @blob = `xclip -selection clipboard -target image/png -out`
24
- File.write @file % @count, @blob
25
- @count += 1
26
40
  end
27
41
 
28
42
  def from_blob
29
43
  @blob
30
44
  end
31
45
 
46
+ def record(interval: 1, duration: 6, mode: @mode)
47
+
48
+ return 'interval must be 0.8 or greater' if interval < 0.8
49
+
50
+ t = Time.now
51
+
52
+ while(Time.now <= t+duration) do
53
+
54
+ puts 'time: ' + Time.now.inspect
55
+ @blob << screenshot(mode)
56
+ sleep interval
57
+ yield(@blob.shift) if block_given?
58
+
59
+ end
60
+
61
+ end
62
+
63
+ def save(file=@file)
64
+
65
+ @blob.each.with_index {|blob, i| File.write file % (i+1).to_s, blob }
66
+
67
+ :saved
68
+ end
69
+
70
+ private
71
+
72
+ def screenshot(mode=@mode)
73
+
74
+ area = mode == :fullscreen ? 'f' : 'w'
75
+
76
+ `xfce4-screenshooter -c#{area}#{@mouse}`
77
+ `xclip -selection clipboard -target image/png -out`
78
+
79
+ end
32
80
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: x4ss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,8 +31,28 @@ cert_chain:
31
31
  T8EEvno4Yr6u3HjCydaJJ72Dq1RKcpnTDYiYzFRF9KFXdVkhaXBH1d8nOCcpgxlc
32
32
  uUB84fdao69LcA==
33
33
  -----END CERTIFICATE-----
34
- date: 2019-05-17 00:00:00.000000000 Z
35
- dependencies: []
34
+ date: 2020-05-12 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: c32
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.2.0
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '0.2'
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.2.0
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '0.2'
36
56
  description:
37
57
  email: james@jamesrobertson.eu
38
58
  executables: []
@@ -59,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
79
  - !ruby/object:Gem::Version
60
80
  version: '0'
61
81
  requirements: []
62
- rubygems_version: 3.0.1
82
+ rubygems_version: 3.0.3
63
83
  signing_key:
64
84
  specification_version: 4
65
85
  summary: A wrapper for xfce4-screenshooter and xclip to save screenshots.
metadata.gz.sig CHANGED
Binary file