diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-08-14 11:56:43 -0400 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-08-14 11:56:43 -0400 |
commit | 429435fc752ebdb77d1792be3e84db6aac220304 (patch) | |
tree | a3d228194803e1e464fc89468543847c83c5ba15 /.local/lib/xdg.sh | |
parent | c0c327caf1eb1afc9623ad98658eac6d67e9b0a0 (diff) |
harden .profile wrt variables and having external programs
Diffstat (limited to '.local/lib/xdg.sh')
-rw-r--r-- | .local/lib/xdg.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/.local/lib/xdg.sh b/.local/lib/xdg.sh new file mode 100644 index 0000000..44aeee2 --- /dev/null +++ b/.local/lib/xdg.sh @@ -0,0 +1,23 @@ +#!/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_IRS ]] || 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 ]] && [[ -n $TMPDIR ]]; then + export XDG_RUNTIME_DIR="$TMPDIR/xdg-runtime" + install -dm0700 "$XDG_RUNTIME_DIR" +fi |