summaryrefslogtreecommitdiff
path: root/.local/lib/xdg.sh
blob: 2241d2e07e85aecc4a8faeb586aa3956cf335a4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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_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 ]] && [[ -n $TMPDIR ]]; then
	export XDG_RUNTIME_DIR="$TMPDIR/xdg-runtime"
	install -dm0700 "$XDG_RUNTIME_DIR"
fi