Clean up XDG_RUNTIME_DIR on last logout
This commit is contained in:
parent
735d3dac4d
commit
f43d8a36fa
4 changed files with 16 additions and 6 deletions
1
config/zsh/.zlogout
Symbolic link
1
config/zsh/.zlogout
Symbolic link
|
@ -0,0 +1 @@
|
|||
zlogout
|
2
config/zsh/logout/xdg-clear
Normal file
2
config/zsh/logout/xdg-clear
Normal file
|
@ -0,0 +1,2 @@
|
|||
#! zsh
|
||||
(( $(w -h $LOGNAME | wc -l) == 1 )) && rm -rf $XDG_RUNTIME_DIR
|
2
config/zsh/zlogout
Normal file
2
config/zsh/zlogout
Normal file
|
@ -0,0 +1,2 @@
|
|||
#! zsh
|
||||
for f in $ZDOTDIR/logout/*(N); source $f
|
17
zshenv
17
zshenv
|
@ -3,12 +3,17 @@
|
|||
: ${XDG_CONFIG_HOME:=~/.config}
|
||||
: ${XDG_DATA_HOME:=~/.local/share}
|
||||
|
||||
# For XDG_RUNTIME_DIR, pick a temporary directory - officially it should be
|
||||
# destroyed when the user logs out but close enough. The reason for suffixing
|
||||
# /xdg-$USER is that TMPDIR does not necessarily belong to the current user
|
||||
# exclusively (although it does under MacOS and PAM).
|
||||
[[ -z $XDG_RUNTIME_DIR ]] && XDG_RUNTIME_DIR=${${TMPDIR-/tmp}%/}/xdg-$LOGNAME
|
||||
[[ -d $XDG_RUNTIME_DIR ]] || mkdir -p $XDG_RUNTIME_DIR
|
||||
# For XDG_RUNTIME_DIR, pick a temporary directory - the spec actually
|
||||
# *requires* that it's destroyed when the user logs out, so that's handled by a
|
||||
# file in zlogout. The reason for suffixing /xdg-$UID is that TMPDIR does not
|
||||
# necessarily belong to the current user exclusively (although it does under
|
||||
# MacOS and PAM). This is especially true if $TMPDIR isn't set at all and /tmp
|
||||
# is used!
|
||||
[[ -z $XDG_RUNTIME_DIR ]] && XDG_RUNTIME_DIR=${${TMPDIR-/tmp}%/}/xdg-$UID
|
||||
if ! [[ -d $XDG_RUNTIME_DIR ]]; then
|
||||
mkdir -p $XDG_RUNTIME_DIR
|
||||
chmod 0700 $XDG_RUNTIME_DIR
|
||||
fi
|
||||
export XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DATA_HOME XDG_RUNTIME_DIR
|
||||
|
||||
# The real zsh config lives in XDG_CONFIG_HOME! ;)
|
||||
|
|
Loading…
Reference in a new issue