rubytext 0.0.49 → 0.0.50
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 +4 -4
- data/examples/prog05.rb +2 -2
- data/examples/prog22.rb +20 -0
- data/examples/showme.rb +7 -6
- data/examples/slides +3 -2
- data/lib/rubytext.rb +1 -0
- data/lib/settings.rb +1 -3
- data/lib/version.rb +1 -1
- data/lib/widgets.rb +15 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cfdb9f0b2c19b4237b6291e6ceadbb177bfd6ff2d75a235bf52d2c1268154d3
|
4
|
+
data.tar.gz: a783b6ac52d6d993c06f1de16502effb9d20cb57b84c849ae4b243a23120b0c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c649721a5e709a72545c1b6aa84ee3b0f7861d6b0ff58134d2f5c9de240d6e62fb025f931ea98db765e8576537127326c1c2a6e2c55260c20bea7bf0ee75ec5d
|
7
|
+
data.tar.gz: 409a480474fa35fb0753bca7c794ed781ef8bce1fcb4f2af2700709aa267177bbd429603f9d18a30c20d06003bfe2eaa9ae70ae0f62741eec10470aa9f0832b2
|
data/examples/prog05.rb
CHANGED
@@ -3,10 +3,10 @@ win = RubyText.window(10, 70, 2, 14, true, fg: :yellow, bg: :black)
|
|
3
3
|
win.output do
|
4
4
|
puts "Without scrolling, this is what happens when your window fills up..."
|
5
5
|
puts "This behavior will probably change later."
|
6
|
-
sleep
|
6
|
+
sleep 1
|
7
7
|
puts "Let's print 10 more lines now:"
|
8
8
|
sleep 1
|
9
9
|
|
10
|
-
10.times {|i| puts "Printing line #{i}..."; sleep 0.
|
10
|
+
10.times {|i| puts "Printing line #{i}..."; sleep 0.2 }
|
11
11
|
end
|
12
12
|
|
data/examples/prog22.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
msg = <<~EOS
|
2
|
+
A "ticker" example that actually uses threads. Maybe Curses is not as slow as
|
3
|
+
you thought? PRESS ANY KEY TO EXIT...
|
4
|
+
EOS
|
5
|
+
|
6
|
+
w, h = STDSCR.cols, STDSCR.rows - 1
|
7
|
+
threads = []
|
8
|
+
|
9
|
+
r = RubyText
|
10
|
+
t1 = -> { r.ticker(text: msg, row: h-8, col: 20, width: w-40, delay: 0.02, fg: :red, bg: :black) }
|
11
|
+
t2 = -> { r.ticker(text: msg, row: h-6, col: 15, width: w-30, delay: 0.04) }
|
12
|
+
t3 = -> { r.ticker(text: msg, row: h-4, col: 10, width: w-20, delay: 0.06, fg: :black, bg: :green) }
|
13
|
+
t4 = -> { r.ticker(text: msg, row: h-2, col: 5, width: w-10, delay: 0.08, bg: :black) }
|
14
|
+
t5 = -> { r.ticker(text: msg) } # All defaults -- goes at bottom
|
15
|
+
|
16
|
+
threads << Thread.new { t1.call } << Thread.new { t2.call } << Thread.new { t3.call } <<
|
17
|
+
Thread.new { t4.call } << Thread.new { t5.call }
|
18
|
+
|
19
|
+
threads << Thread.new { getch; exit } # quitter thread...
|
20
|
+
threads.each {|t| t.join }
|
data/examples/showme.rb
CHANGED
@@ -5,18 +5,18 @@ def next_slide
|
|
5
5
|
RubyText.hide_cursor
|
6
6
|
sleep 2
|
7
7
|
Timeout.timeout(999) do
|
8
|
-
STDSCR.go @rmax-1, 0
|
8
|
+
STDSCR.go @rmax-1-@upward, 0
|
9
9
|
STDSCR.center "Press any key..."
|
10
10
|
getch
|
11
11
|
end
|
12
12
|
rescue Timeout::Error
|
13
13
|
end
|
14
14
|
|
15
|
-
def show_code(prog)
|
15
|
+
def show_code(prog, upward=0)
|
16
16
|
text = File.read(prog)
|
17
17
|
nlines = text.split("\n").size
|
18
18
|
|
19
|
-
prog_top = @rmax-nlines-3
|
19
|
+
prog_top = @rmax-nlines-3 - upward.to_i
|
20
20
|
code = RubyText.window(nlines+2, @cmax-2, prog_top, 1,
|
21
21
|
true, fg: :green, bg: :black)
|
22
22
|
code.puts text
|
@@ -48,10 +48,11 @@ RubyText.hide_cursor
|
|
48
48
|
|
49
49
|
check_window
|
50
50
|
|
51
|
-
prog = ARGV
|
51
|
+
prog, @upward = ARGV
|
52
|
+
@upward ||= 0
|
52
53
|
|
53
|
-
show_code(prog)
|
54
|
+
show_code(prog, @upward)
|
54
55
|
|
55
56
|
require_relative prog
|
56
57
|
|
57
|
-
next_slide
|
58
|
+
next_slide # if @upward == 0
|
data/examples/slides
CHANGED
@@ -12,10 +12,11 @@ exit unless rc
|
|
12
12
|
# - use names instead of numbers?
|
13
13
|
# - convert showme into a method?
|
14
14
|
|
15
|
-
1.upto(
|
15
|
+
1.upto(22) do |n|
|
16
16
|
next if n == 11 # junk this one
|
17
17
|
num = '%02d' % n
|
18
18
|
prog = "prog#{num}.rb"
|
19
|
-
|
19
|
+
upward = 15 if n == 22 # dumbest hack ever!
|
20
|
+
system("ruby showme.rb #{prog} #{upward}")
|
20
21
|
end
|
21
22
|
|
data/lib/rubytext.rb
CHANGED
data/lib/settings.rb
CHANGED
@@ -21,11 +21,9 @@ module RubyText
|
|
21
21
|
@flags = @defaults.dup
|
22
22
|
save_flags
|
23
23
|
args.each do |arg|
|
24
|
-
puts "\n@flags = #{@flags.inspect}... add #{arg}, remove #{inverse_flag(arg)}"
|
25
24
|
@flags += [arg]
|
26
25
|
@flags -= [inverse_flag(arg)]
|
27
26
|
@flags.uniq!
|
28
|
-
puts "@flags = #{@flags.inspect}"
|
29
27
|
flag = arg.to_s
|
30
28
|
if standard.include? flag.to_sym
|
31
29
|
X.send(flag)
|
@@ -111,7 +109,7 @@ puts "@flags = #{@flags.inspect}"
|
|
111
109
|
end
|
112
110
|
|
113
111
|
def self.show_cursor!
|
114
|
-
X.curs_set(2) # Doesn't work?
|
112
|
+
X.curs_set(2) # Doesn't work? Device-dependent?
|
115
113
|
end
|
116
114
|
end
|
117
115
|
|
data/lib/version.rb
CHANGED
data/lib/widgets.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
module RubyText
|
2
|
+
def self.ticker(row: STDSCR.rows-1, col: 0, width: STDSCR.cols,
|
3
|
+
fg: :white, bg: :blue, text:, delay: 0.1)
|
4
|
+
text = text.gsub("\n", " ") + " "
|
5
|
+
win = RubyText.window(1, width, row, col, false, fg: fg, bg: bg)
|
6
|
+
leader = " "*width + text
|
7
|
+
leader = text.chars.cycle.each_cons(width)
|
8
|
+
width.times { win.rcprint 0, 0, leader.next.join }
|
9
|
+
repeat = text.chars.cycle.each_cons(width)
|
10
|
+
loop do # Warning: loops forever
|
11
|
+
win.rcprint 0, 0, repeat.next.join
|
12
|
+
sleep delay
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubytext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.50
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- examples/prog19.rb
|
66
66
|
- examples/prog20.rb
|
67
67
|
- examples/prog21.rb
|
68
|
+
- examples/prog22.rb
|
68
69
|
- examples/showme.rb
|
69
70
|
- examples/slides
|
70
71
|
- lib/color.rb
|
@@ -76,6 +77,7 @@ files:
|
|
76
77
|
- lib/rubytext.rb
|
77
78
|
- lib/settings.rb
|
78
79
|
- lib/version.rb
|
80
|
+
- lib/widgets.rb
|
79
81
|
- lib/window.rb
|
80
82
|
- test/auto.rb
|
81
83
|
homepage: https://github.com/Hal9000/rubytext
|