diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-01-29 01:19:57 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-01-29 01:19:57 -0500 |
commit | 2a6dc16a75f4d7beed631d97a99b6a1fc82c4e79 (patch) | |
tree | c4fbdc91309529699c7550b691ba047a00aad0a8 /.local/lib/xdg.sh | |
parent | f565769cdc68b24343ce2d3dbf4e322fad3a6c20 (diff) |
split login.sh into login.d
Diffstat (limited to '.local/lib/xdg.sh')
-rw-r--r-- | .local/lib/xdg.sh | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/.local/lib/xdg.sh b/.local/lib/xdg.sh deleted file mode 100644 index 20fab4b..0000000 --- a/.local/lib/xdg.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# This should be readable by /bin/sh, but I'm going to assume bash. - -# Sets up XDG environmental variables, so programs using them don't have to -# worry about checking if they are set. -# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html - -[[ -n $XDG_DATA_HOME ]] || export XDG_DATA_HOME="$HOME/.local/share" -[[ -n $XDG_CONFIG_HOME ]] || export XDG_CONFIG_HOME="$HOME/.config" -[[ -n $XDG_DATA_DIRS ]] || export XDG_DATA_DIRS="/usr/local/share/:/usr/share/" -[[ -n $XDG_CONFIG_DIRS ]] || export XDG_CONFIG_DIRS="/etc/xdg" -[[ -n $XDG_CACHE_HOME ]] || export XDG_CACHE_HOME="$HOME/.cache" - -# Check if XDG_RUNTIME_DIR is set, but has a bogus setting -if [[ -n $XDG_RUNTIME_DIR ]] && [[ ! -d $XDG_RUNTIME_DIR ]]; then - unset XDG_RUNTIME_DIR -fi - -# Set XDG_RUNTIME_DIR if we can -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")" - 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" - fi - if flock -sn 7; then - trap _diy_xdg_runtime_logout EXIT - fi - } - _diy_xdg_runtime_logout() { - if flock -xn 7; then - rm -rf -- "$(readlink "$XDG_RUNTIME_DIR")" - fi - } - _diy_xdg_runtime_login -fi |