From 7bdd99e742d72b288743dfa43ba8f07f3fe36c8e Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Tue, 4 Aug 2020 16:04:09 +0300 Subject: [PATCH] correct save/restore cursor' --- shfm | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/shfm b/shfm index f592ebf..43a808f 100755 --- a/shfm +++ b/shfm @@ -2,18 +2,19 @@ esc() { case $1 in - cursorhome) printf '%s[%s;%sH' "$esc_char" "$2" "$3" ;; # VT100 + CUD) printf '%s[%sB' "$esc_char" "$2" ;; # VT100 + CUU) printf '%s[%sA' "$esc_char" "$2" ;; # VT100 + DECAWM) printf '%s[?7%s' "$esc_char" "$2" ;; # VT100 + DECSC) printf '%s7' "$esc_char" ;; # VT100 + DECRC) printf '%s8' "$esc_char" ;; # VT100 + DECSTBM) printf '%s[%s;%sr' "$esc_char" "$2" "$3" ;; # VT100 + DECTCEM) printf '%s[?25%s' "$esc_char" "$2" ;; # VT50X? ED[0-2]) printf '%s[%sJ' "$esc_char" "${1#ED}" ;; # VT100 EL[0-2]) printf '%s[%sK' "$esc_char" "${1#EL}" ;; # VT100 - DECSTBM) printf '%s[%s;%sr' "$esc_char" "$2" "$3" ;; # VT100 - DECAWM) printf '%s[?7%s' "$esc_char" "$2" ;; # VT100 - DECTCEM) printf '%s[?25%s' "$esc_char" "$2" ;; # VT500? - screen_alt) printf '%s[?1049%s' "$esc_char" "$2" ;; # xterm - CUU) printf '%s[%sA' "$esc_char" "$2" ;; # VT100 - CUD) printf '%s[%sB' "$esc_char" "$2" ;; # VT100 - IL) printf '%s[%sL' "$esc_char" "$2" ;; # VT102? + IL) printf '%s[%sL' "$esc_char" "$2" ;; # VT10X? SGR) printf '%s[%s;%sm' "$esc_char" "$2" "$3" ;; # VT100 - DECSC) printf '%s%s' "$esc_char" "$2" ;; # VT100 + cursorhome) printf '%s[%s;%sH' "$esc_char" "$2" "$3" ;; # VT100 + screen_alt) printf '%s[?1049%s' "$esc_char" "$2" ;; # xterm esac } @@ -138,16 +139,16 @@ redraw() { } status_line() { - esc DECSC 7 + esc DECSC esc cursorhome "$LINES" esc SGR 31 7 printf '%-*s' "$COLUMNS" "$1" esc SGR - esc DECSC 8 + esc DECRC } prompt() { - esc DECSC 7 + esc DECSC esc cursorhome "$LINES" printf %s "$1" esc DECTCEM h @@ -161,7 +162,7 @@ prompt() { ;; esac - esc DECSC 8 + esc DECRC esc DECTCEM l status_line "($y/$#) $PWD" }