#!/bin/sh

# based on xbase-configure script from xbase package :-)

set -e

xdmserver=0
kdmserver=0

if grep -q ^start-xdm /etc/X11/config
then
    xdmserver=1
fi

if grep -q ^start-kdm /etc/X11/config
then
    kdmserver=1
fi

echo "current configuration :" 
case $xdmserver in
	0)	echo "don't start xdm "
		;;
	1) 	echo "start xdm"
		;;
esac

case $kdmserver in
	0)	echo "don't start kdm"
		;;
	1) 	echo "start kdm"
		;;
esac

echo 
echo 'Do you want : '
echo '		1)	start xdm'
echo ' 		2)	start kdm'
echo '		3)	none'
echo 
echo -n 'Your choice ? (1/2/3) [2] '
read input
grep -v '^start-xdm' < /etc/X11/config \
	|grep -v '^start-kdm' > /etc/X11/config.new
case "$input" in
	1)	xdmserver=1; kdmserver=2; ;;
	2)	xdmserver=2; kdmserver=1; ;;
	3)	xdmserver=2; kdmserver=2; ;;
	*)	xdmserver=2; kdmserver=1; ;;
esac

xdm=0
test -n "`pidof xdm`" && xdm=1
if [ $xdmserver = 1 ] ; then
	echo "start-xdm" >> /etc/X11/config.new
	test $xdm = 0 && start=xdm
else
	test $xdm = 1 && stop=xdm	
fi

kdm=0
test -n "`pidof kdm`" && kdm=1
if [ $kdmserver = 1 ] ; then
	echo "start-kdm" >> /etc/X11/config.new
	test $kdm = 0 && start=kdm
else
	test $kdm = 1 && stop=kdm	
fi

if test -n "$stop" -a -n "$start"
then
	echo "i need to stop $stop and start $start"
	echo "/etc/init.d/$stop stop"
	echo "/etc/init.d/$start start"
	default=y
	test -n "$DISPLAY" && default=n
	echo -n "Continue ? (y/n) [$default]"
	read answer
	test -z "$answer" && answer=$default
	case $answer in
		y*|Y*)	/etc/init.d/$stop stop 
			;;
	esac
	mv /etc/X11/config.new /etc/X11/config
	sleep 2
	case $answer in
		y*|Y*)	/etc/init.d/$start start
			;;
	esac
elif test -n "$stop"
then
	echo "i need to stop $stop "
	echo "/etc/init.d/$stop stop"
	default=y
	test -n "$DISPLAY" && default=n
	echo -n "Continue ? (y/n) [$default]"
	read answer
	test -z "$answer" && answer=$default
	case $answer in
		y*|Y*)	/etc/init.d/$stop stop 
			;;
	esac
	mv /etc/X11/config.new /etc/X11/config
elif test -n "$start"
then
	echo "i need to start $start"
	echo "/etc/init.d/$start start"
	default=y
	test -n "$DISPLAY" && default=n
	echo -n "Continue ? (y/n) [$default]"
	read answer
	test -z "$answer" && answer=$default
	mv /etc/X11/config.new /etc/X11/config
	case $answer in
		y*|Y*)	/etc/init.d/$start start
			;;
	esac
fi


exit 0
