rcurses 2.7 → 2.8
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/README.md +4 -0
- data/lib/rcurses/input.rb +66 -7
- data/lib/rcurses/pane.rb +16 -4
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c57e93f49709d2dc006240468b49f490abbcff381822edf82eac545de3961ebe
|
4
|
+
data.tar.gz: 92db5bb428787143a9a6bf63508a3301410ab1f06d69ac4fbb5268d33cce1887
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffd05a2f1fc8ad273a1e619d0a4ea892c8edd974bcb95dfd42590a969df8eeca7af8f2c675418b8beb90eb751216894539494e208d9eb566aefe2f6a8ef84ea6
|
7
|
+
data.tar.gz: cdc84b82cb1361a8132c2885905d2029290adbbaa385b53f9a02321c8d1aa84ab54bd38844114bb843c57eaaa4f63fae921fb9f10ba2720c207cc4e928d1af38
|
data/README.md
CHANGED
@@ -83,6 +83,8 @@ puts(text) | Short form for setting panel.text, then doing a refresh of that
|
|
83
83
|
ask(prompt,text) | Short form of setting panel.prompt, then panel.text, doing a panel.editline and then returning panel.text
|
84
84
|
pagedown | Scroll down one page height in the text (minus one line), but not longer than the length of the text
|
85
85
|
pageup | Scroll up one page height in the text (minus one line)
|
86
|
+
linedown | Scroll down one line in the text
|
87
|
+
lineup | Scroll up one line in the text
|
86
88
|
bottom | Scroll to the bottom of the text in the pane
|
87
89
|
top | Scroll to the top of the text in the pane
|
88
90
|
|
@@ -166,6 +168,7 @@ Key pressed | string returned
|
|
166
168
|
`end` | "END"
|
167
169
|
`ctrl-end` | "C-END"
|
168
170
|
`backspace` | "BACK"
|
171
|
+
`ctrl- ` | "C-SPACE"
|
169
172
|
`ctrl-h` | "BACK"
|
170
173
|
`ctrl-a` | "C-A"
|
171
174
|
`ctrl-b` | "C-B"
|
@@ -194,6 +197,7 @@ Key pressed | string returned
|
|
194
197
|
`ctrl-z` | "C-Z"
|
195
198
|
`enter` | "ENTER"
|
196
199
|
`tab` | "TAB"
|
200
|
+
`F1` - `F12` | "F1" - "F12"
|
197
201
|
|
198
202
|
Any other character enter will be returned (to `chr` in the example above).
|
199
203
|
|
data/lib/rcurses/input.rb
CHANGED
@@ -25,24 +25,83 @@ module Rcurses
|
|
25
25
|
when 'C' then chr = "RIGHT"
|
26
26
|
when 'D' then chr = "LEFT"
|
27
27
|
when 'Z' then chr = "S-TAB"
|
28
|
+
when '1'
|
29
|
+
fourth_char = $stdin.getc
|
30
|
+
case fourth_char
|
31
|
+
when '1'
|
32
|
+
fifth_char = $stdin.getc
|
33
|
+
chr = fifth_char == '~' ? "F1" : ""
|
34
|
+
when '2'
|
35
|
+
fifth_char = $stdin.getc
|
36
|
+
chr = fifth_char == '~' ? "F2" : ""
|
37
|
+
when '3'
|
38
|
+
fifth_char = $stdin.getc
|
39
|
+
chr = fifth_char == '~' ? "F3" : ""
|
40
|
+
when '4'
|
41
|
+
fifth_char = $stdin.getc
|
42
|
+
chr = fifth_char == '~' ? "F4" : ""
|
43
|
+
when '5'
|
44
|
+
fifth_char = $stdin.getc
|
45
|
+
chr = fifth_char == '~' ? "F5" : ""
|
46
|
+
when '7'
|
47
|
+
fifth_char = $stdin.getc
|
48
|
+
chr = fifth_char == '~' ? "F6" : ""
|
49
|
+
when '8'
|
50
|
+
fifth_char = $stdin.getc
|
51
|
+
chr = fifth_char == '~' ? "F7" : ""
|
52
|
+
when '9'
|
53
|
+
fifth_char = $stdin.getc
|
54
|
+
chr = fifth_char == '~' ? "F8" : ""
|
55
|
+
end
|
28
56
|
when '2'
|
29
57
|
fourth_char = $stdin.getc
|
30
|
-
|
58
|
+
case fourth_char
|
59
|
+
when '~' then chr = "INS"
|
60
|
+
when '0'
|
61
|
+
fifth_char = $stdin.getc
|
62
|
+
chr = fifth_char == '~' ? "F9" : ""
|
63
|
+
when '1'
|
64
|
+
fifth_char = $stdin.getc
|
65
|
+
chr = fifth_char == '~' ? "F10" : ""
|
66
|
+
when '3'
|
67
|
+
fifth_char = $stdin.getc
|
68
|
+
chr = fifth_char == '~' ? "F11" : ""
|
69
|
+
when '4'
|
70
|
+
fifth_char = $stdin.getc
|
71
|
+
chr = fifth_char == '~' ? "F12" : ""
|
72
|
+
else chr = ""
|
73
|
+
end
|
31
74
|
when '3'
|
32
75
|
fourth_char = $stdin.getc
|
33
76
|
chr = fourth_char == '~' ? "DEL" : ""
|
34
77
|
when '5'
|
35
78
|
fourth_char = $stdin.getc
|
36
|
-
|
79
|
+
case fourth_char
|
80
|
+
when '~' then chr = "PgUP"
|
81
|
+
when '^' then chr = "C-PgUP"
|
82
|
+
else chr = ""
|
83
|
+
end
|
37
84
|
when '6'
|
38
85
|
fourth_char = $stdin.getc
|
39
|
-
|
86
|
+
case fourth_char
|
87
|
+
when '~' then chr = "PgDOWN"
|
88
|
+
when '^' then chr = "C-PgDOWN"
|
89
|
+
else chr = ""
|
90
|
+
end
|
40
91
|
when '1', '7'
|
41
92
|
fourth_char = $stdin.getc
|
42
|
-
|
93
|
+
case fourth_char
|
94
|
+
when '~' then chr = "HOME"
|
95
|
+
when '^' then chr = "C-HOME"
|
96
|
+
else chr = ""
|
97
|
+
end
|
43
98
|
when '4', '8'
|
44
99
|
fourth_char = $stdin.getc
|
45
|
-
|
100
|
+
case fourth_char
|
101
|
+
when '~' then chr = "END"
|
102
|
+
when '^' then chr = "C-END"
|
103
|
+
else chr = ""
|
104
|
+
end
|
46
105
|
else
|
47
106
|
chr = ""
|
48
107
|
end
|
@@ -62,6 +121,7 @@ module Rcurses
|
|
62
121
|
when "\r", "\n" then chr = "ENTER"
|
63
122
|
when "\t" then chr = "TAB"
|
64
123
|
when "\u007F", "\b" then chr = "BACK"
|
124
|
+
when "\u0000" then chr = "C-SPACE"
|
65
125
|
when "\u0001" then chr = "C-A"
|
66
126
|
when "\u0002" then chr = "C-B"
|
67
127
|
when "\u0003" then chr = "C-C"
|
@@ -85,7 +145,7 @@ module Rcurses
|
|
85
145
|
when "\u0018" then chr = "C-X"
|
86
146
|
when "\u0019" then chr = "C-Y"
|
87
147
|
when "\u001A" then chr = "C-Z"
|
88
|
-
when "\u0017" then chr = "WBACK"
|
148
|
+
when "\u0017" then chr = "WBACK" # C-W
|
89
149
|
when /[[:print:]]/ then chr = c
|
90
150
|
else chr = ""
|
91
151
|
end
|
@@ -94,4 +154,3 @@ module Rcurses
|
|
94
154
|
end
|
95
155
|
end
|
96
156
|
end
|
97
|
-
|
data/lib/rcurses/pane.rb
CHANGED
@@ -39,8 +39,14 @@ module Rcurses
|
|
39
39
|
refresh
|
40
40
|
end
|
41
41
|
|
42
|
-
def
|
43
|
-
@ix
|
42
|
+
def linedown
|
43
|
+
@ix += 1
|
44
|
+
@ix = @text.split("\n").length if @ix > @text.split("\n").length - 1
|
45
|
+
refresh
|
46
|
+
end
|
47
|
+
|
48
|
+
def lineup
|
49
|
+
@ix -= 1
|
44
50
|
@ix = 0 if @ix < 0
|
45
51
|
refresh
|
46
52
|
end
|
@@ -51,8 +57,9 @@ module Rcurses
|
|
51
57
|
refresh
|
52
58
|
end
|
53
59
|
|
54
|
-
def
|
55
|
-
@ix =
|
60
|
+
def pageup
|
61
|
+
@ix = @ix - @h + 1
|
62
|
+
@ix = 0 if @ix < 0
|
56
63
|
refresh
|
57
64
|
end
|
58
65
|
|
@@ -61,6 +68,11 @@ module Rcurses
|
|
61
68
|
refresh
|
62
69
|
end
|
63
70
|
|
71
|
+
def top
|
72
|
+
@ix = 0
|
73
|
+
refresh
|
74
|
+
end
|
75
|
+
|
64
76
|
def refresh(cont = @text)
|
65
77
|
@max_h, @max_w = IO.console.winsize
|
66
78
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rcurses
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '2.
|
4
|
+
version: '2.8'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Geir Isene
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-03-
|
11
|
+
date: 2025-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clipboard
|
@@ -29,8 +29,8 @@ description: 'Create curses applications for the terminal easier than ever. Crea
|
|
29
29
|
up text (in panes or anywhere in the terminal) in bold, italic, underline, reverse
|
30
30
|
color, blink and in any 256 terminal colors for foreground and background. Use a
|
31
31
|
simple editor to let users edit text in panes. Left, right or center align text
|
32
|
-
in panes. Cursor movement around the terminal. New in 2.
|
33
|
-
and
|
32
|
+
in panes. Cursor movement around the terminal. New in 2.8: Added lineup and linedown
|
33
|
+
methods to pane and more key captures to Rcurses::Input.'
|
34
34
|
email: g@isene.com
|
35
35
|
executables: []
|
36
36
|
extensions: []
|