# NOTE: for the cleanups below, even if our shell is not the one that spawned # the directory, SHLVL == 1 means that it should be safe to clean it up. # since .zlogout isn't guaranteed to have been run in the same shell as # our .zprofile was (since we source it in .zshenv) it has to be done # like this. ### gpg forward cleanup if [[ $SHLVL == 1 && $GNUPGHOME =~ '/.ssh_forward/\d+/*$' ]] { x=$GNUPGHOME # reset GNUPGHOME [[ -o GLOB_ASSIGN ]]; y=$? setopt GLOB_ASSIGN GNUPGHOME=$GNUPGHOME/../..(:a) [[ $y != 0 ]] && unsetopt GLOB_ASSIGN # clean dir if it exists if [[ -d $x ]] { find $x -mindepth 1 -maxdepth 1 | while read -r y; do unlink $y done rmdir -p $x 2>/dev/null } # clean up any remaining sockets from gpg forwarding rm -f $_GNUPG_SOCK_DEST_BASE*(N=) } ### remove tmp runtime if our shell spawned it if [[ $SHLVL == 1 && $TMPDIR =~ '/.session.\d+/*$' ]] { rm -rf $TMPDIR 2>/dev/null } if [[ -o interactive ]] { echo logout clear } ### load site-specific if [[ -f ~/.zlogout.local ]] { source ~/.zlogout.local } # vim: et sts=4 sw=4 ts=8 tw=79