rcurses 6.2.2 → 6.2.4
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/rcurses/pane.rb +4 -11
- data/lib/rcurses.rb +8 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 16222a062a9490a2ad8382125fe23fd935a975eff70d0b9eea64529ca2b537b6
|
|
4
|
+
data.tar.gz: 98ed3f36f055cc8219dabf1560101ba1f4b44acd9c4606ddb760a40e84237a2a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 570af805bb2c612fcf116732eeef3721d97dd7b5ea5925890927f34e368c392db088b9e10469de6c181b0947e7427233820bf016d7a1ac912a9f8feca921cfda
|
|
7
|
+
data.tar.gz: 23fd4c4d019c983c3edb48d0c1794a9710f650f07e14fd41cea333f13926a56efeb4ee5e13b8f65b81cf8e0fd915959597ad5be5e80ee35558fd77217ffa0100
|
data/lib/rcurses/pane.rb
CHANGED
|
@@ -225,16 +225,9 @@ module Rcurses
|
|
|
225
225
|
@y = [[1, @y].max, @max_h - @h + 1].min
|
|
226
226
|
end
|
|
227
227
|
|
|
228
|
-
|
|
229
|
-
o_row, o_col = pos
|
|
230
|
-
rescue => e
|
|
231
|
-
# Fallback cursor position
|
|
232
|
-
o_row, o_col = 1, 1
|
|
233
|
-
end
|
|
234
|
-
|
|
228
|
+
# Save cursor with ANSI save (no stdin read needed)
|
|
235
229
|
# Hide cursor, disable auto-wrap, reset all SGR and scroll margins
|
|
236
|
-
|
|
237
|
-
STDOUT.print "\e[?25l\e[?7l\e[0m\e[r"
|
|
230
|
+
STDOUT.print "\e7\e[?25l\e[?7l\e[0m\e[r"
|
|
238
231
|
|
|
239
232
|
fmt = [@fg.to_s, @bg.to_s].join(',')
|
|
240
233
|
|
|
@@ -363,8 +356,8 @@ module Rcurses
|
|
|
363
356
|
end
|
|
364
357
|
end
|
|
365
358
|
|
|
366
|
-
#
|
|
367
|
-
diff_buf << "\
|
|
359
|
+
# Restore cursor, re-enable wrap, reset SGR and scroll-region
|
|
360
|
+
diff_buf << "\e8\e[?7h\e[0m\e[r"
|
|
368
361
|
begin
|
|
369
362
|
print diff_buf
|
|
370
363
|
rescue => e
|
data/lib/rcurses.rb
CHANGED
|
@@ -69,6 +69,10 @@ module Rcurses
|
|
|
69
69
|
trap(sig) { cleanup!; exit }
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
+
# Switch to alternate screen buffer (like vim, mutt, less, htop).
|
|
73
|
+
# This isolates the TUI from stray output by other processes.
|
|
74
|
+
print "\e[?1049h"
|
|
75
|
+
|
|
72
76
|
# Flush any pending stdin data (terminal position responses, etc.)
|
|
73
77
|
# This prevents cursor query responses from blocking the first getchr
|
|
74
78
|
$stdin.getc while $stdin.wait_readable(0)
|
|
@@ -107,6 +111,9 @@ module Rcurses
|
|
|
107
111
|
system("stty sane 2>/dev/null")
|
|
108
112
|
end
|
|
109
113
|
|
|
114
|
+
# Restore main screen buffer (leave alternate screen)
|
|
115
|
+
print "\e[?1049l"
|
|
116
|
+
|
|
110
117
|
# Only clear screen if there's no error to display
|
|
111
118
|
# This preserves the error context on screen
|
|
112
119
|
if @error_to_display.nil?
|
|
@@ -116,7 +123,7 @@ module Rcurses
|
|
|
116
123
|
print "\e[999;1H" # Move to bottom-left
|
|
117
124
|
print "\e[K" # Clear current line
|
|
118
125
|
end
|
|
119
|
-
|
|
126
|
+
|
|
120
127
|
Cursor.show
|
|
121
128
|
|
|
122
129
|
@cleaned_up = true
|
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: 6.2.
|
|
4
|
+
version: 6.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Geir Isene
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: clipboard
|