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.
Files changed (2) hide show
  1. data/lib/screenxtv.rb +19 -13
  2. 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
- def start
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=STDIN.readline.strip
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-z^A-Z^0-9]/,""
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']=STDIN.readline.strip
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
- STDIN.readline
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("SIGWINCH"){Thread.new{winsize.call}}
152
- Signal.trap("SIGCHLD"){stop "broadcast end"}
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.2
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-05 00:00:00.000000000 Z
12
+ date: 2012-12-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: io-console