more cleaning
This commit is contained in:
45
displaym/displaym
Executable file
45
displaym/displaym
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user