installed() {
type "$1" >/dev/null 2>&1
}
+# Save PID of the most recently started background process. Used to terminate
+# them when logging out to prevent unused background processes. On some
+# systems this is only necessary for some programs (like ssh-agent), haven't
+# yet figured out why.
+save_background_pid() {
+ background_pids="$background_pids $!"
+}
+background_pids=
# Options, can be modified in ~/.xinitrc.local. To disable a boolean option
# Display timed reminders and recheck the file for changes every minute (-z1).
if installed remind && test -f "$HOME/.reminders"; then
remind -z1 -k'.shell/bin/notify.py %s &' "$HOME/.reminders" &
+ save_background_pid
fi
# Set color temperature of display according to time of day.
/usr/bin/ssh-agent -k >/dev/null
# No `eval` necessary, we terminate anyway.
fi
+# Kill remaining background processes.
+kill $background_pids