1
0
Fork 0
src/niceties/displaym

46 lines
848 B
Bash
Executable File

#!/bin/sh
set -e
argv0="$0"
error(){
printf "%s: %s\n" "$argv0" "$1" 1>&2
exit $2
}
usage(){
set +x
printf "\
Usage:
%s [window manager] [action]\n" "$argv0" 1>&2
exit 64 # sysexits(3) EX_USAGE
}
[ -n "$2" ] \
|| usage
# sysexits(3) EX_OSERR
[ -n "$HOME" ] \
|| error "No \$HOME environment variable set. This is very bad." 71
if [ -z "$DISPLAYM_CONFIG" ]; then
[ -z "$XDG_CONFIG_HOME" ] \
&& DISPLAYM_CONFIG="$HOME/.displaym" \
|| DISPLAYM_CONFIG="$XDG_CONFIG_HOME/displaym"
fi
export DISPLAYM_CONFIG
[ -e "$DISPLAYM_CONFIG" ] && ! [ -d "$DISPLAYM_CONFIG" ] \
&& bak "$DISPLAYM_CONFIG" \
|| true
[ -d "$DISPLAYM_CONFIG" ] \
|| mkdir -p "$DISPLAYM_CONFIG"
WM="$1"; export WM
SCRIPT="$2"
# with exported DISPLAYM_CONFIG and WM
sh <"$DISPLAYM_CONFIG/$WM/$SCRIPT.sh"