diff -uNr wmii-3.1/cmd/wm/wmii wmii-3.1-wmii-perm-patch/cmd/wm/wmii --- wmii-3.1/cmd/wm/wmii 2006-06-17 07:44:30.000000000 -0400 +++ wmii-3.1-wmii-perm-patch/cmd/wm/wmii 2006-06-22 21:22:38.000000000 -0400 @@ -1,13 +1,33 @@ #!/bin/sh # start wmiiwm and wait for its termination +startup_error() { + echo "There was an error starting wmii." + [ ! -z "$1" ] && echo "$1" + exit 1 +} + wmiiwm -c || exit 1 OLD_PATH=$PATH export OLD_PATH PATH=$HOME/.wmii-3:CONFPREFIX/wmii-3:$PATH export PATH WMII_ADDRESS=unix!/tmp/ns.$USER.${DISPLAY%.0}/wmii export WMII_ADDRESS -mkdir -m 700 /tmp/ns.$USER.${DISPLAY%.0} 2>/dev/null +# check to see if the directory exists, and if so, that its permissions are okay +WMII_TMP_DIR="/tmp/ns.$USER.${DISPLAY%.0}" +if [ -a ${WMII_TMP_DIR} ]; then + if [ -O ${WMII_TMP_DIR} ] && [ -G ${WMII_TMP_DIR} ]; then + perms=$(ls -ld ${WMII_TMP_DIR} | sed -e 's/\s.*$//') + if [ "$perms" != "drwx------" ]; then + startup_error "The wmii tmp directory ${WMII_TMP_DIR} exists, but its permissions are not the correct mode." + fi + else + startup_error "The wmii tmp directory ${WMII_TMP_DIR} exists, but it is not owned by you." + fi +else + mkdir -m 700 ${WMII_TMP_DIR} 2>/dev/null +fi + wmiiwm -a $WMII_ADDRESS & wmiiwmpid=$! mkdir $HOME/.wmii-3 2>/dev/null && welcome &