]> arthur.barton.de Git - ax-zsh.git/blobdiff - core/30_env/30_env.ax-io
30_env.ax-io: Create individual XDG_RUNTIME_DIR, when not set
[ax-zsh.git] / core / 30_env / 30_env.ax-io
index 87875402633f5563ea1f596cab2bdc09701117fe..1910bd412665984da635a493a8cf57abf8f5dc6d 100644 (file)
@@ -8,19 +8,12 @@ fi
 
 # Validate temporary directory
 if [[ -z "$TMPDIR" ]]; then
-       echo "WARNING: \"TMPDIR\" is not set, using /tmp as default!" >&2
-       TMPDIR='/tmp/'
+       TMPDIR="$(dirname $(mktemp -ut tmp.XXXXXXXXXX))/"
+       echo "WARNING: \"TMPDIR\" is not set, using \"$TMPDIR\" as default!" >&2
 fi
 if [[ ! -w "$TMPDIR" ]]; then
        echo "WARNING: Temporary directory \"$TMPDIR\" is not writable!" >&2
 fi
-# Make sure TMPDIR ends in a slash (like on macOS by default): this makes its
-# usage a bit safer ...
-case "$TMPDIR" in
-       */) ;;
-       *)  TMPDIR="$TMPDIR/"
-esac
-export TMPDIR
 
 # Setup XDG cache directory
 if [[ -z "$XDG_CACHE_HOME" ]]; then
@@ -34,7 +27,7 @@ export XDG_CACHE_HOME
 
 # Setup XDG runtime directory
 if [[ -z "$XDG_RUNTIME_DIR" ]]; then
-       XDG_RUNTIME_DIR="${TMPDIR:-/tmp/${UID}-runtime-dir}"
+       XDG_RUNTIME_DIR="$TMPDIR/runtime-dir.$UID"
 fi
 if [[ ! -d "$XDG_RUNTIME_DIR" ]]; then
        mkdir -p "$XDG_RUNTIME_DIR"