From 429435fc752ebdb77d1792be3e84db6aac220304 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 14 Aug 2013 11:56:43 -0400 Subject: harden .profile wrt variables and having external programs --- .local/lib/xdg.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .local/lib/xdg.sh (limited to '.local') 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 -- cgit v1.2.3