dumon 0.2.3 → 0.2.4
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 +7 -0
- data/lib/dumon/omanager.rb +9 -0
- data/lib/dumon/version.rb +1 -0
- data/lib/dumon.rb +23 -6
- metadata +7 -11
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: acc82471c1842c62b7a7cb432e20194d7ebf579a
|
4
|
+
data.tar.gz: 30145a002f41442f2b807e36c47c5771f6c0d664
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2d4c3f4f8a83ffbd3a467bac3af0ed981b3b10211e5d58e1de1708c2b978eb1f97a13e0023233a898fd8688e841469b6d0bb829ae265e683a9628d39ed61e425
|
7
|
+
data.tar.gz: c7283d64b5ecf1612cc531508307a8c79ed5916c5b83d43efc622eee9711d72049ff749d2e71826ed9c2f0336070d48f789f4f498f55d74b7e8c102a892e1c01
|
data/lib/dumon/omanager.rb
CHANGED
@@ -75,6 +75,15 @@ module Dumon
|
|
75
75
|
Dumon::App.instance.current_profile = options
|
76
76
|
end
|
77
77
|
|
78
|
+
###
|
79
|
+
# Resets output to the first one delivered by the underlaying system tool
|
80
|
+
# and switches to its default resolution.
|
81
|
+
def reset
|
82
|
+
assert(!outputs.nil?, 'no outputs found')
|
83
|
+
out = outputs.keys.first
|
84
|
+
switch :mode => :single, :out => out, :resolution => default_resolution(out)
|
85
|
+
end
|
86
|
+
|
78
87
|
###
|
79
88
|
# Reads info about current accessible output devices and their settings.
|
80
89
|
# Readed infos will be stored and accessible via reader 'outputs'.
|
data/lib/dumon/version.rb
CHANGED
@@ -2,6 +2,7 @@ module Dumon
|
|
2
2
|
|
3
3
|
# Version history.
|
4
4
|
VERSION_HISTORY = [
|
5
|
+
['0.2.4', '2013-03-29', 'New CLI argument: --reset, tested with MRI Ruby 2.0.0'],
|
5
6
|
['0.2.3', '2013-03-17', 'BF #10: Profile dialog fails unless configuration exists'],
|
6
7
|
['0.2.2', '2013-03-15', 'Enh #6: Vertical location of outputs'],
|
7
8
|
['0.2.1', '2013-03-13', 'BF #9: Crash Ruby 1.8.7 because of Dir.home'],
|
data/lib/dumon.rb
CHANGED
@@ -43,10 +43,6 @@ module Dumon
|
|
43
43
|
def initialize
|
44
44
|
@ui = new_ui
|
45
45
|
Dumon::logger.debug "Used UI: #{ui.class.name}"
|
46
|
-
|
47
|
-
# storage of preferred resolution for next rendering (will be cleared by output changing)
|
48
|
-
# {"LVDS1" => "1600x900", "VGA1" => "800x600"}
|
49
|
-
@selected_resolution = {}
|
50
46
|
end
|
51
47
|
|
52
48
|
###
|
@@ -145,14 +141,35 @@ Dumon::logger.level = Logger::INFO
|
|
145
141
|
Dumon::logger.info \
|
146
142
|
"Dumon #{Dumon::VERSION}, running on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
147
143
|
|
144
|
+
|
148
145
|
# Capturing Ctrl+C to cleanly quit
|
149
|
-
trap('INT') do
|
146
|
+
Signal.trap('INT') do
|
150
147
|
Dumon::logger.debug 'Ctrl+C captured'
|
151
148
|
Dumon::App.instance.quit
|
152
149
|
end
|
150
|
+
# Capturing user signal to reset output settings
|
151
|
+
Signal.trap('SIGUSR1') do
|
152
|
+
Dumon::App.instance.ui.omanager.reset
|
153
|
+
end
|
154
|
+
|
155
|
+
|
156
|
+
# Sending a signal to existing Dumon's instance to reset output to a default device
|
157
|
+
# (first output with native resolution).
|
158
|
+
if ARGV.include?('--reset')
|
159
|
+
ps = `ps ax | grep -i 'ruby.*dumon' | grep -v #{Process.pid} | grep -v grep`
|
160
|
+
if ps.nil? or ps.empty?
|
161
|
+
Dumon::logger.warn "No running Dumon instance found"
|
162
|
+
else
|
163
|
+
pid = ps.split[0].to_i
|
164
|
+
`kill -s SIGUSR1 #{pid}`
|
165
|
+
Dumon::logger.info "Signal SIGUSR1 sent to already running Dumon instance, pid=#{pid}"
|
166
|
+
end
|
167
|
+
exit
|
168
|
+
end
|
153
169
|
|
154
170
|
|
155
|
-
|
171
|
+
##################
|
172
|
+
# DEVELOPMENT MODE
|
156
173
|
if __FILE__ == $0
|
157
174
|
Dumon::logger.level = Logger::DEBUG
|
158
175
|
Dumon::App.instance.run(ARGV.include? '--daemon')
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dumon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Vaclav Sykora
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
11
|
+
date: 2013-03-29 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: gtk2
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -55,28 +52,27 @@ files:
|
|
55
52
|
- test/test_rrutils_options.rb
|
56
53
|
homepage: http://github.com/veny/dumon
|
57
54
|
licenses: []
|
55
|
+
metadata: {}
|
58
56
|
post_install_message:
|
59
57
|
rdoc_options:
|
60
58
|
- --charset=UTF-8
|
61
59
|
require_paths:
|
62
60
|
- lib
|
63
61
|
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
-
none: false
|
65
62
|
requirements:
|
66
|
-
- -
|
63
|
+
- - '>='
|
67
64
|
- !ruby/object:Gem::Version
|
68
65
|
version: '0'
|
69
66
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
67
|
requirements:
|
72
|
-
- -
|
68
|
+
- - '>'
|
73
69
|
- !ruby/object:Gem::Version
|
74
70
|
version: 1.3.1
|
75
71
|
requirements: []
|
76
72
|
rubyforge_project:
|
77
|
-
rubygems_version:
|
73
|
+
rubygems_version: 2.0.0
|
78
74
|
signing_key:
|
79
|
-
specification_version:
|
75
|
+
specification_version: 4
|
80
76
|
summary: Dual monitor manager for Linux.
|
81
77
|
test_files:
|
82
78
|
- test/test_rrutils_options.rb
|