screenxtv 0.0.2 → 0.0.3
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.
- data/lib/screenxtv.rb +19 -13
- metadata +2 -2
data/lib/screenxtv.rb
CHANGED
@@ -5,6 +5,15 @@ require 'socket'
|
|
5
5
|
require 'json'
|
6
6
|
require 'yaml'
|
7
7
|
require 'optparse'
|
8
|
+
require 'readline'
|
9
|
+
|
10
|
+
Signal.trap(:INT){exit;}
|
11
|
+
|
12
|
+
def readline
|
13
|
+
s=Readline.readline("> ",true)
|
14
|
+
if !s then exit end
|
15
|
+
s.strip
|
16
|
+
end
|
8
17
|
|
9
18
|
def kvconnect(host,port)
|
10
19
|
socket=TCPSocket.open host, port
|
@@ -25,9 +34,7 @@ def kvconnect(host,port)
|
|
25
34
|
socket
|
26
35
|
end
|
27
36
|
|
28
|
-
|
29
|
-
@sttyoption=`stty -g`
|
30
|
-
end
|
37
|
+
@sttyoption=`stty -g`
|
31
38
|
def stop msg
|
32
39
|
height,width=STDOUT.winsize
|
33
40
|
print "\e[?1l\e[>\e[1;#{height}r\e[#{height};1H"
|
@@ -86,8 +93,8 @@ conf_scan.each do |item|
|
|
86
93
|
value=item[:value]
|
87
94
|
if !conf[key] then
|
88
95
|
if msg then
|
89
|
-
print item[:msg]+"\n
|
90
|
-
s=
|
96
|
+
print item[:msg]+"\n"
|
97
|
+
s=readline
|
91
98
|
if s=="" then s=value end
|
92
99
|
conf[key]=s
|
93
100
|
else
|
@@ -95,7 +102,7 @@ conf_scan.each do |item|
|
|
95
102
|
end
|
96
103
|
end
|
97
104
|
end
|
98
|
-
conf['url'].gsub! /[^a-
|
105
|
+
conf['url'].gsub! /[^a-zA-Z0-9_]/,""
|
99
106
|
conf['color'].downcase!
|
100
107
|
File.write conf_file,conf.to_yaml
|
101
108
|
|
@@ -115,17 +122,16 @@ loop do
|
|
115
122
|
conf['url'],conf['urlhash']=value.split("#")
|
116
123
|
break
|
117
124
|
end
|
118
|
-
print "Specified url '"+conf['url']+"' is alerady in use. Please set another url.\n
|
119
|
-
conf['url']=
|
125
|
+
print "Specified url '"+conf['url']+"' is alerady in use. Please set another url.\n"
|
126
|
+
conf['url']=readline
|
120
127
|
end
|
121
128
|
|
122
129
|
File.write conf_file,conf.to_yaml
|
123
130
|
|
124
131
|
print "Your url is http://screenx.tv/"+conf['url'].split("#")[0]+"\n\n";
|
125
|
-
print "Press Enter to start broadcasting\n
|
126
|
-
|
132
|
+
print "Press Enter to start broadcasting\n"
|
133
|
+
readline
|
127
134
|
|
128
|
-
start
|
129
135
|
Thread.new{
|
130
136
|
begin
|
131
137
|
loop do
|
@@ -148,8 +154,8 @@ begin
|
|
148
154
|
socket.send 'winch',{width:width,height:height}.to_json
|
149
155
|
}
|
150
156
|
winsize.call
|
151
|
-
Signal.trap(
|
152
|
-
Signal.trap(
|
157
|
+
Signal.trap(:SIGWINCH){Thread.new{winsize.call}}
|
158
|
+
Signal.trap(:SIGCHLD){stop "broadcast end"}
|
153
159
|
Thread.new{
|
154
160
|
loop do
|
155
161
|
master.write STDIN.getc
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: screenxtv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: io-console
|