]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - xinitrc
xinitrc: Kill ssh-agent on logout.
[config/dotfiles.git] / xinitrc
diff --git a/xinitrc b/xinitrc
index 696230a455b997b61d9a7d669e767c85ac7a51bf..162efa4c22d3c2e3ebbb61c4ab7f89b134facd09 100755 (executable)
--- a/xinitrc
+++ b/xinitrc
@@ -39,6 +39,18 @@ installed() {
 }
 
 
+# Options, can be modified in ~/.xinitrc.local. To disable a boolean option
+# set it to an empty value.
+#
+# Default to use a background image.
+set_background=yes
+
+# Load settings for the local system.
+if test -f "$HOME/.xinitrc.local"; then
+    . "$HOME/.xinitrc.local"
+fi
+
+
 # Start ssh-agent if we have private keys, thanks to
 # http://code.haskell.org/XMonadContrib/scripts/xinitrc (read on 2011-06-19).
 if test -x /usr/bin/ssh-agent && test -f "$HOME/.ssh/id_rsa"; then
@@ -58,14 +70,6 @@ fi
 # Use my X11 key bindings.
 xmodmap "$HOME/.xmodmaprc"
 
-# Default to use a background image. Can be disabled in .xinitrc.local.
-set_background=yes
-
-# Load settings for the local system.
-if test -f "$HOME/.xinitrc.local"; then
-    . "$HOME/.xinitrc.local"
-fi
-
 # Change the background if available.
 if test -f "$HOME/.background" && test -n "$set_background"; then
     if installed hsetroot; then
@@ -95,3 +99,11 @@ fi
 
 # Start window manager.
 xmonad
+
+# Cleanup.
+#
+# Kill ssh-agent to prevent unused background processes.
+if test -x /usr/bin/ssh-agent; then
+    /usr/bin/ssh-agent -k >/dev/null
+    # No `eval` necessary, we terminate anyway.
+fi