]> git.sev.monster Git - dotfiles.git/blobdiff - base/.zlogout
sway: also bind kp_enter to terminal
[dotfiles.git] / base / .zlogout
index 9e0ed3fce7719b76a3d1e8bd1c2b7c6893b2c803..6e7b474d5033d2756f4ab46f8f87a5dcfb9e4fb2 100644 (file)
@@ -1,7 +1,39 @@
-echo logout
-clear
+# 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: set et sts=4 sw=4 ts=8 tw=79 :
+# vim: et sts=4 sw=4 ts=8 tw=79
This page took 0.045723 seconds and 4 git commands to generate.