From f8afebdfa0cc9a57b22c39c47e9b585f69453eb7 Mon Sep 17 00:00:00 2001 From: "Roberto E. Vargas" Date: Sat, 16 May 2020 10:42:51 +0000 Subject: Add rin terminfo capability Tianlin Qu discovered that st is missing rin (scroll back #1 lines). --- st.info | 1 + 1 file changed, 1 insertion(+) (limited to 'st.info') diff --git a/st.info b/st.info index e2abc98..d0694e2 100644 --- a/st.info +++ b/st.info @@ -158,6 +158,7 @@ st-mono| simpleterm monocolor, rc=\E8, rev=\E[7m, ri=\EM, + rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E(B, rmcup=\E[?1049l, -- cgit From e8392b282c2eaa28725241a9612804fb55113da4 Mon Sep 17 00:00:00 2001 From: "Avi Halachmi (:avih)" Date: Thu, 14 May 2020 18:18:07 +0300 Subject: support REP (repeat) escape sequence The sequence \e[Nb prints the last printed char N (more) times if it's printable, and it's ignored after newline or other control chars. This is Ecma-048/ANSI-X3.6 sequence and not DEC VT. It's supported by xterm, and ncurses uses it when possible, e.g. when TERM is xterm* (and with this commit also st*). xterm supports only codepoints<=255, possibly due to internal limits. We support any value/codepoint which was placed in a cell. To test: - tput rep 65 4 -> prints 'AAAA' - printf "\342\225\246\033[4b" -> prints U+2566 1+4 times. --- st.info | 1 + 1 file changed, 1 insertion(+) (limited to 'st.info') diff --git a/st.info b/st.info index d0694e2..e5393db 100644 --- a/st.info +++ b/st.info @@ -184,6 +184,7 @@ st-mono| simpleterm monocolor, # XTerm extensions rmxx=\E[29m, smxx=\E[9m, + rep=%p1%c\E[%p2%{1}%-%db, # tmux extensions, see TERMINFO EXTENSIONS in tmux(1) Tc, Ms=\E]52;%p1%s;%p2%s\007, -- cgit From 475a0a36cb4fda1da30f014da65988e99b222876 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Sat, 16 May 2020 18:06:42 +0200 Subject: Revert "support REP (repeat) escape sequence" This reverts commit e8392b282c2eaa28725241a9612804fb55113da4. There is currently a bug in older ncurses versions (like on OpenBSD) where a fix for a bug with REP is not backported yet. Most likely in tty/tty_update.c: Noticed while using lynx (which uses ncurses/curses). To reproduce using lynx: echo "Z0000000" | lynx -stdin or using the program: int main(void) { WINDOW *win; win = initscr(); printw("Z0000000"); refresh(); sleep(5); return 0; } This prints "ZZZZZZZ" (incorrectly). --- st.info | 1 - 1 file changed, 1 deletion(-) (limited to 'st.info') diff --git a/st.info b/st.info index e5393db..d0694e2 100644 --- a/st.info +++ b/st.info @@ -184,7 +184,6 @@ st-mono| simpleterm monocolor, # XTerm extensions rmxx=\E[29m, smxx=\E[9m, - rep=%p1%c\E[%p2%{1}%-%db, # tmux extensions, see TERMINFO EXTENSIONS in tmux(1) Tc, Ms=\E]52;%p1%s;%p2%s\007, -- cgit From 94b8ec002101a5e8f52a342e53431eea71aa0631 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Sat, 30 May 2020 21:34:57 +0200 Subject: Partially add back in "support REP (repeat) escape sequence" Add the functionality back in for xterm compatibility, but do not expose the capability in st.info (yet). Some notes: It was reverted because it caused some issues with ncurses in some configurations, namely when using BSD padding (--enable-bsdpad, BSD_TPUTS) in ncurses it caused issues with repeating digits. A fix has been upstreamed in ncurses since snapshot 20200523. The fix is also backported to OpenBSD -current. --- st.info | 2 ++ 1 file changed, 2 insertions(+) (limited to 'st.info') diff --git a/st.info b/st.info index d0694e2..8201ad6 100644 --- a/st.info +++ b/st.info @@ -184,6 +184,8 @@ st-mono| simpleterm monocolor, # XTerm extensions rmxx=\E[29m, smxx=\E[9m, +# disabled rep for now: causes some issues with older ncurses versions. +# rep=%p1%c\E[%p2%{1}%-%db, # tmux extensions, see TERMINFO EXTENSIONS in tmux(1) Tc, Ms=\E]52;%p1%s;%p2%s\007, -- cgit