summaryrefslogtreecommitdiff
path: root/.config/login.d/01_xdg.sh
diff options
context:
space:
mode:
Diffstat (limited to '.config/login.d/01_xdg.sh')
-rw-r--r--.config/login.d/01_xdg.sh7
1 files changed, 3 insertions, 4 deletions
diff --git a/.config/login.d/01_xdg.sh b/.config/login.d/01_xdg.sh
index 2e0b42c..07cea90 100644
--- a/.config/login.d/01_xdg.sh
+++ b/.config/login.d/01_xdg.sh
@@ -20,16 +20,15 @@ fi
if [[ -z $XDG_RUNTIME_DIR ]] && type flock &>/dev/null; then
_diy_xdg_runtime_login() {
export XDG_RUNTIME_DIR="$XDG_CACHE_HOME/xdg-runtime-dir/$HOSTNAME"
- readonly XDG_RUNTIME_DIR
# There's a race condition here, between the `ln -s` and `flock`.
# But it's not like I'll be hammering a box with logins.
- if [[ ! -d "$XDG_CACHE_HOME" ]]; then
- local tmp="$(mktemp --tmpdir -- "${USER}@${HOSTNAME}-runtime.XXXXXXXXXX")"
+ if [[ ! -d "$XDG_RUNTIME_DIR" ]]; then
+ local tmp="$(mktemp -d --tmpdir -- "${USER}@${HOSTNAME}-runtime.XXXXXXXXXX")"
mkdir -p -- "$XDG_CACHE_HOME/xdg-runtime-dir"
ln -sfT -- "$tmp" "$XDG_RUNTIME_DIR"
fi
if ! [[ /dev/fd/7 -ef "$XDG_CACHE_HOME/xdg-runtime-dir/.lock" ]]; then
- exec 7 >"$XDG_CACHE_HOME/xdg-runtime-dir/.lock"
+ exec 7>"$XDG_CACHE_HOME/xdg-runtime-dir/.lock"
fi
if flock -sn 7; then
trap _diy_xdg_runtime_logout EXIT