From 1cdc7055122eae4a260b0f6f5aaa5522af145e43 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 4 Oct 2015 15:04:21 -0400 Subject: Be more careful about what happens when XDG_RUNTIME_DIR isn't set. --- .config/X11/clientrc | 5 ++++- .config/login.d/90_dot-runtime.sh | 6 +++++- .config/wmii-hg/include.sh | 4 ++++ .config/wmii-hg/rbar.sh | 5 +++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.config/X11/clientrc b/.config/X11/clientrc index ac0d5a8..bc68ed6 100644 --- a/.config/X11/clientrc +++ b/.config/X11/clientrc @@ -17,7 +17,10 @@ if [ -f "$usermodmap" ]; then xmodmap "$usermodmap" fi -[ -n "$XDG_RUNTIME_DIR" ] || exit 1 +if [ -z "$XDG_RUNTIME_DIR" ]; then + printf "XDG_RUNTIME_DIR isn't set\n" >&2 + exit 6 +fi _DISPLAY="$(systemd-escape -- "$DISPLAY")" trap "rm -f $(printf '%q' "${XDG_RUNTIME_DIR}/x11-wm@${_DISPLAY}")" EXIT mkfifo "${XDG_RUNTIME_DIR}/x11-wm@${_DISPLAY}" diff --git a/.config/login.d/90_dot-runtime.sh b/.config/login.d/90_dot-runtime.sh index d06568f..cb0b7f2 100644 --- a/.config/login.d/90_dot-runtime.sh +++ b/.config/login.d/90_dot-runtime.sh @@ -1,4 +1,8 @@ # This is really only needed for ssh ControlPath; as I don't have a # way to communicate XDG_RUNTIME_DIR to it otherwise. mkdir -p -- ~/.runtime -ln -sfT -- "$XDG_RUNTIME_DIR" ~/.runtime/"$HOSTNAME" +if [ -n "$XDG_RUNTIME_DIR" ]; then + ln -sfT -- "$XDG_RUNTIME_DIR" ~/.runtime/"$HOSTNAME" +else + ln -sfT -- /tmp ~/.runtime/"$HOSTNAME" +fi diff --git a/.config/wmii-hg/include.sh b/.config/wmii-hg/include.sh index 4e86276..f8c4e0d 100644 --- a/.config/wmii-hg/include.sh +++ b/.config/wmii-hg/include.sh @@ -1,4 +1,8 @@ #!/hint/bash +if [[ -z "$XDG_RUNTIME_DIR" ]]; then + printf "XDG_RUNTIME_DIR isn't set\n" >&2 + exit 6 +fi if [[ -z "$WMII_NAMESPACE" ]]; then export WMII_NAMESPACE="$(wmiir namespace)" diff --git a/.config/wmii-hg/rbar.sh b/.config/wmii-hg/rbar.sh index 0c9efa6..287f427 100644 --- a/.config/wmii-hg/rbar.sh +++ b/.config/wmii-hg/rbar.sh @@ -1,4 +1,9 @@ #!/hint/bash +if [[ -z "$XDG_RUNTIME_DIR" ]]; then + printf "XDG_RUNTIME_DIR isn't set\n" >&2 + exit 6 +fi + setup_trap() { trap "rm -f -- \"\${XDG_RUNTIME_DIR}\"/n/wmii*/rbar/${1}" EXIT } -- cgit v1.2.3