+ # send xterm scrollback clear extension just in case:
+ # - TERM may not be set correctly
+ # - terminfo/termcap database entry for reset may be buggy
+ echo -en '\e[3J'
+ # use terminfo/termcap directly instead of relying on system clear/reset:
+ # - often they are just wrappers for ncurses tput or other tools
+ # - they may not even exist on lightweight systems
+ # - provided scripts/binaries may be buggy or broken
+ y=1
+ if [[ -v terminfo ]] {
+ for x (rs1 rs2 rs3) {
+ [[ -v terminfo[$x] ]] || continue
+ echoti $x
+ y=0
+ }
+ }
+ if { (( y )) && -v termcap ]] } {
+ for x (rs r1 r2 r3) {
+ [[ -v termcap[$x] ]] || continue
+ echotc $x
+ y=0
+ }
+ }
+ if (( y )) {
+ # fallback, send ECMA-48 clear
+ echo -en '\e[2J'
+ }