#Some functions for handling .new files #was taken from various Slackware doinst.sh testargs() { case "$OPENBOXREPLACEOPTION" in P|R|p|r) REPLACECONFIG=99; ;; esac; } config_mangle() { NEW="$1"; OLD="$(dirname $NEW)/$(basename $NEW .new)"; if [ ! -e "$OLD" ]; then mv "$NEW" "$OLD"; elif [ "$(cat $NEW | md5sum)" = "$(cat $OLD | md5sum)" ]; then rm "$NEW" elif [ -e "$OLD" ]; then echo "There is a previous $(basename $1 .new) config detected in /etc/xdg/openbox."; echo "What would you like to do with the new config files?"; echo "Preserve keeps the new config as $(basename $1) for later actions"; echo -n "Replace(R) or Preserve(P): "; read OPENBOXREPLACEOPTION; testargs; while [ "$REPLACECONFIG" != 99 ] ; do echo -n "Replace(R) or Preserve(P): "; read OPENBOXREPLACEOPTION; testargs done; case "$OPENBOXREPLACEOPTION" in R|r) mv -f "$NEW" "$OLD"; ;; *) :; ;; esac; fi; } config_mangle etc/xdg/openbox/menu.xml.new echo; config_mangle etc/xdg/openbox/rc.xml.new