rubytext 0.0.76 → 0.0.77
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/lib/navigation.rb +26 -0
- data/lib/output.rb +12 -8
- data/lib/settings.rb +6 -0
- data/lib/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee7c6312edf48700460e3ac66588a92de3809dddb2eeef6fe33a4174e355ef81
|
4
|
+
data.tar.gz: ada7f3ee8c716f7be23affaa9ef790f51df1acfb0f11be30c876e8e6d18f4fa4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 551a09d2ddf6a41f90e7e6c85ac3a4738d597dbe2ee6e55970a1268a4e2f0a4c7881196e92f4614da8ca4feb016fc67101114cd769bb06b5b7e8b327646d0d42
|
7
|
+
data.tar.gz: e5ab24e1cd086a8a43534f37af73146ed6dad0fec0beab3333b7d6d5d87d220fe127c1c1d45073c3b5817fa8069990241ed1daedd11f4fe4c0441c6aa1c0e5e9
|
data/lib/navigation.rb
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
class RubyText::Window
|
2
|
+
|
3
|
+
def coords(r, c)
|
4
|
+
r = case
|
5
|
+
when r == :center
|
6
|
+
self.rows / 2
|
7
|
+
when r == :top
|
8
|
+
0
|
9
|
+
when r == :bottom
|
10
|
+
self.rows - 1
|
11
|
+
else
|
12
|
+
r
|
13
|
+
end
|
14
|
+
c = case
|
15
|
+
when c == :center
|
16
|
+
self.cols / 2
|
17
|
+
when c == :left
|
18
|
+
0
|
19
|
+
when c == :right
|
20
|
+
self.cols - 1
|
21
|
+
else
|
22
|
+
c
|
23
|
+
end
|
24
|
+
[r, c]
|
25
|
+
end
|
26
|
+
|
2
27
|
def go(r, c)
|
28
|
+
r, c = coords(r, c)
|
3
29
|
save = self.rc
|
4
30
|
@cwin.setpos(r, c)
|
5
31
|
if block_given?
|
data/lib/output.rb
CHANGED
@@ -59,7 +59,7 @@ class RubyText::Window
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def rcprint!(r, c, *args)
|
62
|
-
|
62
|
+
self.go(r, c) # Cursor isn't restored
|
63
63
|
self.print *args
|
64
64
|
end
|
65
65
|
|
@@ -71,10 +71,8 @@ class RubyText::Window
|
|
71
71
|
fx.set(self) if fx
|
72
72
|
val = fx.value rescue 0
|
73
73
|
@cwin.addch(ch.ord|val)
|
74
|
-
# @win.refresh
|
75
74
|
end
|
76
75
|
fx.reset(self) if fx
|
77
|
-
# self[r, c] = ch[0]
|
78
76
|
end
|
79
77
|
|
80
78
|
def crlf # Technically not output...
|
@@ -144,21 +142,27 @@ end
|
|
144
142
|
|
145
143
|
module WindowIO
|
146
144
|
def puts(*args) # Doesn't affect STDOUT.puts, etc.
|
147
|
-
$stdscr
|
145
|
+
recv = RubyText.started ? $stdscr : Kernel
|
146
|
+
recv.puts(*args)
|
148
147
|
end
|
149
148
|
|
150
149
|
def print(*args)
|
151
|
-
$stdscr
|
150
|
+
recv = RubyText.started ? $stdscr : Kernel
|
151
|
+
recv.print(*args)
|
152
152
|
end
|
153
153
|
|
154
154
|
def p(*args)
|
155
|
-
$stdscr
|
155
|
+
recv = RubyText.started ? $stdscr : Kernel
|
156
|
+
recv.p(*args)
|
156
157
|
end
|
157
158
|
|
158
159
|
def rcprint(r, c, *args)
|
159
|
-
$stdscr
|
160
|
+
recv = RubyText.started ? $stdscr : Kernel
|
161
|
+
recv.rcprint r, c, *args
|
160
162
|
end
|
161
163
|
|
164
|
+
# FIXME These don't/can't honor @started flag...
|
165
|
+
|
162
166
|
def getch
|
163
167
|
X.getch
|
164
168
|
end
|
@@ -177,7 +181,7 @@ module WindowIO
|
|
177
181
|
end
|
178
182
|
|
179
183
|
def putch(ch, r: nil, c: nil, fx: nil)
|
180
|
-
|
184
|
+
STDSCR.putch(ch, r: r, c: c, fx: fx)
|
181
185
|
end
|
182
186
|
end
|
183
187
|
|
data/lib/settings.rb
CHANGED
@@ -3,6 +3,10 @@ module RubyText
|
|
3
3
|
|
4
4
|
ValidArgs = [:raw, :_raw, :echo, :_echo, :cbreak, :_cbreak]
|
5
5
|
|
6
|
+
def self.started
|
7
|
+
@started
|
8
|
+
end
|
9
|
+
|
6
10
|
def self.start(*args, log: "/tmp/rubytext.log",
|
7
11
|
fg: White, bg: Blue, scroll: false)
|
8
12
|
$debug ||= File.new(log, "w") if log # FIXME remove global
|
@@ -17,6 +21,7 @@ module RubyText
|
|
17
21
|
Object.include(WindowIO)
|
18
22
|
self.set(:_echo, :cbreak) # defaults (:keypad?)
|
19
23
|
self.set(*args) # override defaults
|
24
|
+
@started = true
|
20
25
|
rescue => err
|
21
26
|
debug(err.inspect)
|
22
27
|
debug(err.backtrace)
|
@@ -93,6 +98,7 @@ module RubyText
|
|
93
98
|
end
|
94
99
|
|
95
100
|
def self.stop
|
101
|
+
@started = false
|
96
102
|
X.close_screen
|
97
103
|
end
|
98
104
|
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.77
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
104
|
rubyforge_project:
|
105
|
-
rubygems_version: 2.7.
|
105
|
+
rubygems_version: 2.7.7
|
106
106
|
signing_key:
|
107
107
|
specification_version: 4
|
108
108
|
summary: A thick wrapper for Curses
|