#!/bin/zsh --login set -u while :; do for script in $(run-parts --list $HOME/.xsession.d); do echo I: sourcing ${script:t}... >&2 . $script echo I: done sourcing ${script:t}... >&2 done [ -e $HOME/.xsession-exit ] && break echo "I: restarting xsession (touch $HOME/.xsession-exit to exit)..." >&2 done rm -f $HOME/.xsession-exit exit 0