]> git.sev.monster Git - dotfiles.git/blobdiff - base/.zlogout
tweaks to zsh/env (xdg, dbus, gpg, tmp), sway, ...
[dotfiles.git] / base / .zlogout
index 6e7b474d5033d2756f4ab46f8f87a5dcfb9e4fb2..64591b62260774a4f336145636115692451dc1fb 100644 (file)
@@ -1,32 +1,13 @@
-# 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
-}
+### cleanup
+# XXX: since .zlogout isn't guaranteed to have been run in the same shell as
+#      our .zprofile was (since we source it in .zshenv for SHLVL=1 among other
+#      situations) we are not guaranteed to clean up our current session's tmp,
+#      but it should be cleared out on next session launch
+_sev_zcleanup
+## unset vars that use our tmp since above will remove them
+unset XDG_CACHE_HOME XDG_RUNTIME_DIR
+## clean up any remaining sockets from gpg forwarding
+[[ -v _GNUPG_SOCK_DEST_BASE ]] && rm -f $_GNUPG_SOCK_DEST_BASE*(N=)
 
 if [[ -o interactive ]] {
     echo logout
This page took 0.044145 seconds and 4 git commands to generate.