#!/bin/bash
# setwm                    by Jun Nishii <jun@vinelinux.org>
#			   modified by Daisuke SUZUKI <daisuke@linux.or.jp>


AllWM="gnome-session kdebase xfce-utils \
       WindowMaker enlightenment fvwm2 twm \
       afterstep blackbox fluxbox sawfish icewm qvwm lxde-common"
ExistWM=""
for i in $AllWM
do
  if (rpm -q --quiet $i) ;then
    ExistWM="$ExistWM $(echo $i | sed -e 's/gnome-session/gnome/' -e 's/kdebase/kde/' -e 's/xfce-utils/xfce/' -e 's/lxde-common/lxde/')"
  fi
done

ShowUsage() {
cat <<EOF
Usage:
${1##/*/} <option>
 option:
	status
EOF
for i in $ExistWM
do
  echo "	$i"
done
}

CheckOption() {
if [ $# != 1 ] ; then
    ShowUsage ${0##*/}
    exit 1
fi
}

setWM(){
CMD=$1
case $1 in
	status)
	if [ -f $HOME/.wm_style ]; then
		echo -n "Current Window Mangager is "
		cat $HOME/.wm_style
		exit 0
	else
		echo "Window Manager is not set yet."
		exit -1
	fi
	;;
	wmaker*|WindowMaker*)
	CMD=RunWM
	WM=WindowMaker
	;;
	gnome*|Gnome*|GNOME*)
	CMD=gnome-session
	WM=GNOME
	;;
	kde*|Kde*|KDE*)
	CMD=startkde
	WM=kde
	;;
	xfce*|XFce*|XFCE*)
	CMD=startxfce4
	WM=xfce
	;;
	lxde*|LXDE*)
	CMD=startlxde
	WM=lxde
	;;
	icewm*|IceWm*|ICEWM*)
	CMD=icewm
	WM=icewm
	;;
	enlight*|Enlight*|e)
	CMD=enlightenment
	WM=Enlightenment
	;;
	afterstep*|Afterstep*|AfterStep*)
	CMD=afterstep
	WM=AfterStep
	;;
	blackbox*|BlackBox*|BLACKBOX*)
	CMD=blackbox
	WM=blackbox
	;;
	fluxbox*|FluxBox*|FLUXKBOX*)
	CMD=fluxbox
	WM=fluxbox
	;;
	sawfish*)
	CMD=sawfish
	WM=sawfish
	;;
	qvwm*|QVWM*)
	CMD=qvwm
	WM=qvwm
	;;
	fvwm2*|FVWM2*)
	CMD=fvwm2
	WM=fvwm2
	;;
	twm*|TWM*)
	CMD=twm
	WM=twm
	;;
	*)
	echo "Mmmm....Sorry but I don't know the window manager..."
	exit -1
esac

if [ -n "$(which $CMD 2>/dev/null)" ]; then
	echo "$WM" > $HOME/.wm_style
	echo "OK, restart X to move to $WM"
else
	echo "Not found $CMD"
	exit -1
fi
}

CheckOption $*
setWM $1
exit 0
