topherfangio-lcdproc-ruby 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +6 -0
- data/LICENSE +20 -0
- data/README.rdoc +9 -0
- data/Rakefile +70 -0
- data/TODO +18 -0
- data/VERSION +1 -0
- data/devices/crystalfontz/packet.rb +108 -0
- data/devices/devices.rb +41 -0
- data/examples/basic.rb +39 -0
- data/examples/clock.rb +78 -0
- data/examples/lights.rb +67 -0
- data/lcdproc.rb +43 -0
- data/lib/console.rb +39 -0
- data/lib/core_extensions/array.rb +37 -0
- data/lib/core_extensions/string.rb +37 -0
- data/lib/includes/lcdproc.rb +27 -0
- data/lib/lcdproc-ruby.rb +0 -0
- data/lib/lcdproc/client.rb +458 -0
- data/lib/lcdproc/command.rb +54 -0
- data/lib/lcdproc/errors.rb +41 -0
- data/lib/lcdproc/key_event.rb +59 -0
- data/lib/lcdproc/menu.rb +188 -0
- data/lib/lcdproc/menu_event.rb +49 -0
- data/lib/lcdproc/menu_item.rb +108 -0
- data/lib/lcdproc/menu_items/action.rb +72 -0
- data/lib/lcdproc/menu_items/alpha.rb +85 -0
- data/lib/lcdproc/menu_items/checkbox.rb +76 -0
- data/lib/lcdproc/menu_items/ip.rb +75 -0
- data/lib/lcdproc/menu_items/numeric.rb +75 -0
- data/lib/lcdproc/menu_items/ring.rb +75 -0
- data/lib/lcdproc/menu_items/slider.rb +83 -0
- data/lib/lcdproc/menu_items/submenu.rb +77 -0
- data/lib/lcdproc/response.rb +65 -0
- data/lib/lcdproc/screen.rb +283 -0
- data/lib/lcdproc/widget.rb +142 -0
- data/lib/lcdproc/widgets/graph.rb +185 -0
- data/lib/lcdproc/widgets/hbar.rb +101 -0
- data/lib/lcdproc/widgets/icon.rb +94 -0
- data/lib/lcdproc/widgets/num.rb +92 -0
- data/lib/lcdproc/widgets/scroller.rb +110 -0
- data/lib/lcdproc/widgets/string.rb +94 -0
- data/lib/lcdproc/widgets/title.rb +90 -0
- data/lib/lcdproc/widgets/vbar.rb +111 -0
- data/script/console.rb +28 -0
- data/script/telnet.rb +90 -0
- data/tasks/test/basic.rake +82 -0
- data/tasks/test/keys.rake +66 -0
- data/tasks/test/menus.rake +74 -0
- metadata +104 -0
data/script/console.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
#-------------------------------------------------------------------------------
|
4
|
+
# Copyright (c) 2008 Topher Fangio
|
5
|
+
#
|
6
|
+
# Permission is hereby granted, free of charge, to any person
|
7
|
+
# obtaining a copy of this software and associated documentation
|
8
|
+
# files (the "Software"), to deal in the Software without
|
9
|
+
# restriction, including without limitation the rights to use,
|
10
|
+
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
+
# copies of the Software, and to permit persons to whom the
|
12
|
+
# Software is furnished to do so, subject to the following
|
13
|
+
# conditions:
|
14
|
+
#
|
15
|
+
# The above copyright notice and this permission notice shall be
|
16
|
+
# included in all copies or substantial portions of the Software.
|
17
|
+
#
|
18
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
19
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
20
|
+
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
21
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
22
|
+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
23
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
24
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
25
|
+
# OTHER DEALINGS IN THE SOFTWARE.
|
26
|
+
#-------------------------------------------------------------------------------
|
27
|
+
|
28
|
+
require 'lib/console'
|
data/script/telnet.rb
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
#-------------------------------------------------------------------------------
|
4
|
+
# Copyright (c) 2008 Topher Fangio
|
5
|
+
#
|
6
|
+
# Permission is hereby granted, free of charge, to any person
|
7
|
+
# obtaining a copy of this software and associated documentation
|
8
|
+
# files (the "Software"), to deal in the Software without
|
9
|
+
# restriction, including without limitation the rights to use,
|
10
|
+
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
+
# copies of the Software, and to permit persons to whom the
|
12
|
+
# Software is furnished to do so, subject to the following
|
13
|
+
# conditions:
|
14
|
+
#
|
15
|
+
# The above copyright notice and this permission notice shall be
|
16
|
+
# included in all copies or substantial portions of the Software.
|
17
|
+
#
|
18
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
19
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
20
|
+
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
21
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
22
|
+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
23
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
24
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
25
|
+
# OTHER DEALINGS IN THE SOFTWARE.
|
26
|
+
#-------------------------------------------------------------------------------
|
27
|
+
|
28
|
+
|
29
|
+
# Set our options based on the command line
|
30
|
+
require 'optparse'
|
31
|
+
|
32
|
+
options = { :host => 'localhost', :port => 13666 }
|
33
|
+
|
34
|
+
OptionParser.new do |opt|
|
35
|
+
opt.banner = "Usage: telnet [options]"
|
36
|
+
opt.on('-h', "--host[#{options[:host]}]", 'Connect to a specific host.') { |v| options[:host] = v }
|
37
|
+
opt.on('-p', "--port[#{options[:port]}]", 'Connect using a different port.') { |v| options[:port] = v }
|
38
|
+
opt.parse!(ARGV)
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
def process_responses
|
43
|
+
response = @daemon_socket.gets
|
44
|
+
|
45
|
+
( puts " - #{response}"; @response_count += 1 ) unless response =~ /^ignore|listen/
|
46
|
+
|
47
|
+
Thread.pass
|
48
|
+
end
|
49
|
+
|
50
|
+
# Start the main program by openning a telnet session and parsing stdin
|
51
|
+
require 'socket'
|
52
|
+
|
53
|
+
@response_count = 0
|
54
|
+
|
55
|
+
puts " Opening connection to LCDd..."
|
56
|
+
|
57
|
+
begin
|
58
|
+
@daemon_socket = TCPSocket.new( options[:host], options[:port] )
|
59
|
+
puts " Connection established, Ready to send commands\n\n"
|
60
|
+
|
61
|
+
@listen = Thread.new { while true do process_responses end }
|
62
|
+
|
63
|
+
puts " Listening for responses..."
|
64
|
+
|
65
|
+
while true
|
66
|
+
rc = @response_count
|
67
|
+
|
68
|
+
print "lcdproc > "
|
69
|
+
$stdout.flush
|
70
|
+
|
71
|
+
input = $stdin.readline
|
72
|
+
|
73
|
+
if input.strip == "exit"
|
74
|
+
@daemon_socket.close
|
75
|
+
puts " *waves goodbye*\n"
|
76
|
+
|
77
|
+
break
|
78
|
+
end
|
79
|
+
|
80
|
+
@daemon_socket.write( input )
|
81
|
+
|
82
|
+
while not @response_count > rc
|
83
|
+
# Wait until we get a response
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
rescue Errno::ECONNREFUSED
|
89
|
+
puts " Error: Connection to '#{options[:host]}':#{options[:port]} was refused."
|
90
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
#-------------------------------------------------------------------------------
|
2
|
+
# Copyright (c) 2008 Topher Fangio
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person
|
5
|
+
# obtaining a copy of this software and associated documentation
|
6
|
+
# files (the "Software"), to deal in the Software without
|
7
|
+
# restriction, including without limitation the rights to use,
|
8
|
+
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the
|
10
|
+
# Software is furnished to do so, subject to the following
|
11
|
+
# conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be
|
14
|
+
# included in all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
18
|
+
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
20
|
+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
21
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
22
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
23
|
+
# OTHER DEALINGS IN THE SOFTWARE.
|
24
|
+
#-------------------------------------------------------------------------------
|
25
|
+
|
26
|
+
|
27
|
+
require 'lcdproc.rb'
|
28
|
+
include LCDProc
|
29
|
+
|
30
|
+
namespace :test do
|
31
|
+
|
32
|
+
desc "Runs a basic test that creates a client, attaches a screen and adds some widgets."
|
33
|
+
task :basic do
|
34
|
+
puts "=== Running Basic Test ===\n"
|
35
|
+
puts "Creating client..."
|
36
|
+
c = Client.new
|
37
|
+
|
38
|
+
puts "Creating screens..."
|
39
|
+
s1 = Screen.new
|
40
|
+
s2 = Screen.new
|
41
|
+
s3 = Screen.new
|
42
|
+
s4 = Screen.new
|
43
|
+
|
44
|
+
puts "Attaching screens..."
|
45
|
+
c.attach( s1 )
|
46
|
+
c.attach( s2 )
|
47
|
+
c.attach( s3 )
|
48
|
+
c.attach( s4 )
|
49
|
+
|
50
|
+
puts "Creating widgets..."
|
51
|
+
w1 = Widget.new( :string )
|
52
|
+
w2 = Widget.new( :hbar )
|
53
|
+
w3 = Widget.new( :vbar )
|
54
|
+
w4 = Widget.new( :graph )
|
55
|
+
w5 = Widget.new( :num )
|
56
|
+
|
57
|
+
puts "Setting up widgets..."
|
58
|
+
w2.y = rand( 2 ) + 2
|
59
|
+
|
60
|
+
w3.x = rand( 20 )
|
61
|
+
w3.height = rand( 22 ) + 10
|
62
|
+
|
63
|
+
w4.bars.each{ |bar| bar.height = rand( 22 ) + 10 }
|
64
|
+
|
65
|
+
puts "Adding widgets to screens..."
|
66
|
+
s1.add_widget( w1 )
|
67
|
+
s1.add_widget( w2 )
|
68
|
+
|
69
|
+
s2.add_widget( w3 )
|
70
|
+
|
71
|
+
s3.add_widget( w4 )
|
72
|
+
|
73
|
+
s4.add_widget( w5 )
|
74
|
+
|
75
|
+
#puts c.commands.collect{ |cmd| cmd.message }
|
76
|
+
#puts c.messages
|
77
|
+
|
78
|
+
puts "Sleeping for 10 seconds..."
|
79
|
+
sleep 10
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
#-------------------------------------------------------------------------------
|
2
|
+
# Copyright (c) 2008 Topher Fangio
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person
|
5
|
+
# obtaining a copy of this software and associated documentation
|
6
|
+
# files (the "Software"), to deal in the Software without
|
7
|
+
# restriction, including without limitation the rights to use,
|
8
|
+
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the
|
10
|
+
# Software is furnished to do so, subject to the following
|
11
|
+
# conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be
|
14
|
+
# included in all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
18
|
+
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
20
|
+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
21
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
22
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
23
|
+
# OTHER DEALINGS IN THE SOFTWARE.
|
24
|
+
#-------------------------------------------------------------------------------
|
25
|
+
|
26
|
+
|
27
|
+
require 'lcdproc.rb'
|
28
|
+
include LCDProc
|
29
|
+
|
30
|
+
namespace :test do
|
31
|
+
|
32
|
+
desc "Tests the registering and unregistering of keys."
|
33
|
+
task :keys do
|
34
|
+
puts "=== Running Keys Test ===\n"
|
35
|
+
|
36
|
+
puts "Creating Client and Screen"
|
37
|
+
c = Client.new
|
38
|
+
s = Screen.new
|
39
|
+
|
40
|
+
puts "Attaching Screen"
|
41
|
+
c.attach( s )
|
42
|
+
|
43
|
+
kel = KeyEvent.new( 'Left' ) { puts "Left Key Pressed" }
|
44
|
+
ker = KeyEvent.new( 'Right' ) { puts "Right Key Pressed" }
|
45
|
+
keu = KeyEvent.new( 'Up' ) { puts "Up Key Pressed" }
|
46
|
+
ked = KeyEvent.new( 'Down' ) { puts "Down Key Pressed" }
|
47
|
+
keen = KeyEvent.new( 'Enter' ) { puts "Enter Key Pressed" }
|
48
|
+
kees = KeyEvent.new( 'Escape' ) { puts "Escape Key Pressed" }
|
49
|
+
|
50
|
+
puts "Registering new Key Event (Left Key) for 10 seconds..."
|
51
|
+
s.register_key_event( kel )
|
52
|
+
|
53
|
+
sleep( 10 )
|
54
|
+
|
55
|
+
puts "Unregistering Key Event (Left Key)"
|
56
|
+
s.unregister_key_event( kel )
|
57
|
+
|
58
|
+
puts "Registering all events..."
|
59
|
+
[ kel, ker, keu, ked, keen, kees ].each do |event|
|
60
|
+
s.register_key_event( event )
|
61
|
+
end
|
62
|
+
|
63
|
+
sleep( 30 )
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
#-------------------------------------------------------------------------------
|
2
|
+
# Copyright (c) 2008 Topher Fangio
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person
|
5
|
+
# obtaining a copy of this software and associated documentation
|
6
|
+
# files (the "Software"), to deal in the Software without
|
7
|
+
# restriction, including without limitation the rights to use,
|
8
|
+
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the
|
10
|
+
# Software is furnished to do so, subject to the following
|
11
|
+
# conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be
|
14
|
+
# included in all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
18
|
+
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
20
|
+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
21
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
22
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
23
|
+
# OTHER DEALINGS IN THE SOFTWARE.
|
24
|
+
#-------------------------------------------------------------------------------
|
25
|
+
|
26
|
+
|
27
|
+
require 'lcdproc.rb'
|
28
|
+
include LCDProc
|
29
|
+
|
30
|
+
def my_cool_slider_callback( value )
|
31
|
+
puts "Current Slider Value: #{value}"
|
32
|
+
end
|
33
|
+
|
34
|
+
namespace :test do
|
35
|
+
|
36
|
+
desc "Runs a test that creates a variety menus attached to a client."
|
37
|
+
task :menus do
|
38
|
+
puts "=== Running Menus Test ===\n"
|
39
|
+
|
40
|
+
c = Client.new( :name => 'MenuTest' )
|
41
|
+
|
42
|
+
action_nothing = c.menu.add_item( MenuItem.new( :action, { :id => 'nothing' }, { :text => 'I Do Nothing' } ) )
|
43
|
+
|
44
|
+
ring_manual = MenuItem.new( :ring, { :id => 'Ring' }, { :text => 'ManualRing', :strings => [ 'Yes', 'No', 'Whatever' ].join('\t') } )
|
45
|
+
c.menu.add_item( ring_manual )
|
46
|
+
c.register_menu_event( MenuEvent.new( ring_manual ) { |response| puts "Ring: " + response.split(' ')[-1].to_s } )
|
47
|
+
|
48
|
+
checkbox_boom = c.menu.add_item( MenuItem.new( :checkbox, { :id => 'Boom'}, { :text => 'Boom', :allow_gray => true } ) ) { |response| puts response.split(' ')[-1] }
|
49
|
+
|
50
|
+
slider = c.menu.add_item( MenuItem.new( :slider, { :id => 'Fluidity' } ) ) { |r| my_cool_slider_callback( r.split(' ')[-1] ) }
|
51
|
+
|
52
|
+
alpha = c.menu.add_item( MenuItem.new( :alpha, { :id => 'AlphaText' }, { :value => "Abstract" } ) ) { |r| puts "Alpha value updated to #{r.split(' ')[-1] }" }
|
53
|
+
|
54
|
+
ip = c.menu.add_item( MenuItem.new( :ip, { :id => 'LocalIP' } ) ) { |r| puts "IP: #{r.split(' ')[-1]}" }
|
55
|
+
|
56
|
+
submenu = c.menu.add_item( MenuItem.new( :submenu, { :id => "SubMenu", :text => "Sub Menu" } ) )
|
57
|
+
submenu_action_noperrs = submenu.add_item( MenuItem.new( :action, :id => 'Noperrs' ) ) { |r| puts r.split(' ')[-1] }
|
58
|
+
submenu_submenu = submenu.add_item( MenuItem.new( :submenu, { :id => 'Subber' }, :text => 'Subber' ) ) { |r| puts r.split(' ')[-1] }
|
59
|
+
submenu_submenu_checkbox = submenu_submenu.add_item( MenuItem.new( :checkbox, { :id => 'Checkers' }, :text => 'Check Me' ) ) { |r| puts r.split(' ')[-1] }
|
60
|
+
|
61
|
+
|
62
|
+
#puts "\nCommands: " + c.commands.collect{ |cmd| cmd.message }.inspect
|
63
|
+
#puts "\nMessages: " + c.messages.inspect
|
64
|
+
#puts "\nMenu Items: " + c.menu.items.inspect
|
65
|
+
#puts "\nMenu Events: " + c.menu_events.inspect
|
66
|
+
|
67
|
+
|
68
|
+
sleep_time = 500
|
69
|
+
|
70
|
+
puts "Sleeping for #{sleep_time} seconds..."
|
71
|
+
sleep sleep_time
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
metadata
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: topherfangio-lcdproc-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- topherfangio
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-06-19 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description:
|
17
|
+
email: fangiotophia@gmail.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- LICENSE
|
24
|
+
- README.rdoc
|
25
|
+
files:
|
26
|
+
- .document
|
27
|
+
- .gitignore
|
28
|
+
- LICENSE
|
29
|
+
- README.rdoc
|
30
|
+
- Rakefile
|
31
|
+
- TODO
|
32
|
+
- VERSION
|
33
|
+
- devices/crystalfontz/packet.rb
|
34
|
+
- devices/devices.rb
|
35
|
+
- examples/basic.rb
|
36
|
+
- examples/clock.rb
|
37
|
+
- examples/lights.rb
|
38
|
+
- lcdproc.rb
|
39
|
+
- lib/console.rb
|
40
|
+
- lib/core_extensions/array.rb
|
41
|
+
- lib/core_extensions/string.rb
|
42
|
+
- lib/includes/lcdproc.rb
|
43
|
+
- lib/lcdproc-ruby.rb
|
44
|
+
- lib/lcdproc/client.rb
|
45
|
+
- lib/lcdproc/command.rb
|
46
|
+
- lib/lcdproc/errors.rb
|
47
|
+
- lib/lcdproc/key_event.rb
|
48
|
+
- lib/lcdproc/menu.rb
|
49
|
+
- lib/lcdproc/menu_event.rb
|
50
|
+
- lib/lcdproc/menu_item.rb
|
51
|
+
- lib/lcdproc/menu_items/action.rb
|
52
|
+
- lib/lcdproc/menu_items/alpha.rb
|
53
|
+
- lib/lcdproc/menu_items/checkbox.rb
|
54
|
+
- lib/lcdproc/menu_items/ip.rb
|
55
|
+
- lib/lcdproc/menu_items/numeric.rb
|
56
|
+
- lib/lcdproc/menu_items/ring.rb
|
57
|
+
- lib/lcdproc/menu_items/slider.rb
|
58
|
+
- lib/lcdproc/menu_items/submenu.rb
|
59
|
+
- lib/lcdproc/response.rb
|
60
|
+
- lib/lcdproc/screen.rb
|
61
|
+
- lib/lcdproc/widget.rb
|
62
|
+
- lib/lcdproc/widgets/graph.rb
|
63
|
+
- lib/lcdproc/widgets/hbar.rb
|
64
|
+
- lib/lcdproc/widgets/icon.rb
|
65
|
+
- lib/lcdproc/widgets/num.rb
|
66
|
+
- lib/lcdproc/widgets/scroller.rb
|
67
|
+
- lib/lcdproc/widgets/string.rb
|
68
|
+
- lib/lcdproc/widgets/title.rb
|
69
|
+
- lib/lcdproc/widgets/vbar.rb
|
70
|
+
- script/console.rb
|
71
|
+
- script/telnet.rb
|
72
|
+
- tasks/test/basic.rake
|
73
|
+
- tasks/test/keys.rake
|
74
|
+
- tasks/test/menus.rake
|
75
|
+
has_rdoc: true
|
76
|
+
homepage: http://github.com/topherfangio/lcdproc-ruby
|
77
|
+
post_install_message:
|
78
|
+
rdoc_options:
|
79
|
+
- --charset=UTF-8
|
80
|
+
require_paths:
|
81
|
+
- lib
|
82
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: "0"
|
87
|
+
version:
|
88
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: "0"
|
93
|
+
version:
|
94
|
+
requirements: []
|
95
|
+
|
96
|
+
rubyforge_project:
|
97
|
+
rubygems_version: 1.2.0
|
98
|
+
signing_key:
|
99
|
+
specification_version: 2
|
100
|
+
summary: A Ruby library to interface with LCDProc.
|
101
|
+
test_files:
|
102
|
+
- examples/basic.rb
|
103
|
+
- examples/clock.rb
|
104
|
+
- examples/lights.rb
|