# send xterm scrollback clear extension just in case:
# - TERM may not be set correctly
# - terminfo/termcap database entry for reset may be buggy
- echo -n '\e[3J'
+ 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=0
- for x (rs1 rs2 rs3) {
- [[ -v terminfo[$x] ]] || continue
- echoti $x
- y=1
+ y=1
+ if [[ -v terminfo ]] {
+ for x (rs1 rs2 rs3) {
+ [[ -v terminfo[$x] ]] || continue
+ echoti $x
+ y=0
+ }
}
- if (( y == 0 )) {
+ if { (( y )) && -v termcap ]] } {
for x (rs r1 r2 r3) {
[[ -v termcap[$x] ]] || continue
echotc $x
- y=1
+ y=0
}
}
- if (( y == 0 )) {
+ if (( y )) {
# fallback, send ECMA-48 clear
- echo -n '\e[2J'
+ echo -en '\e[2J'
}
echo logout
}