### cleanup _sev_zcleanup ## clean up any remaining sockets from gpg forwarding [[ -v _GNUPG_SOCK_DEST_BASE ]] && rm -f $_GNUPG_SOCK_DEST_BASE*(=N) ## manually reset terminal for interactive logout if [[ -o interactive ]] { # 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' } echo logout } ### load site-specific load-site-dotfile zlogout