#!/bin/bash
#
# Copyright (c) 2004-2006 by Userful Corporation
#
# Name: userful-config-display
# Author: Jason Kim
# Description:
# Configure video cards manually. 
#################################################
BUSID=
VENDORNAME=
BOARDNAME=
DRIVER=
CARDTYPE=
CARDNUM=0

read_input()
{
	HEADNUM=
	while [ "$HEADNUM" != "1" -a "$HEADNUM" != "2" ];
	do
		read -u 1 -p "  Type the number of head(s): " HEADNUM

		if [ "$HEADNUM" != "1" ] && [ "$HEADNUM" != "2" ]; then
			echo "  Desktop Multiplier supports Single or Dual heads video card."
			echo "  Please try again."
			echo
		fi
	done
}

if [ $UID != 0 ]; then
    echo ""
    echo "   You must be root to configure system."
    echo ""
    exit 1
fi

if [ ! -e /etc/mvgainfo ]; then
	pgrep X
	if [ "$?" != "0" ]; then # X doesn't exist.
		exec /opt/userful/bin/umx-start
	else
		echo
		echo "Please restart machine to configure Desktop Multiplier."
	fi
	exit 1
fi

clear
echo "System detected following Video Cards:"
echo
while read VIDEOCARD; do
	CARDNUM=$((CARDNUM + 1))
	BUSID=`echo $VIDEOCARD | awk -F'^' '{print $1}'`
	VENDORNAME=`echo $VIDEOCARD | awk -F'^' '{print $2}'`
	BOARDNAME=`echo $VIDEOCARD | awk -F'^' '{print $3}'`

	echo "    $CARDNUM. BusID: $BUSID	Video Card: $BOARDNAME"

done < /etc/mvgainfo

CARDNUM=0
rm -f /etc/mvgainfo.new
while read VIDEOCARD; do
	CARDNUM=$((CARDNUM + 1))
	BUSID=`echo $VIDEOCARD | awk -F'^' '{print $1}'`
	VENDORNAME=`echo $VIDEOCARD | awk -F'^' '{print $2}'`
	BOARDNAME=`echo $VIDEOCARD | awk -F'^' '{print $3}'`
	DRIVER=`echo $VIDEOCARD | awk -F'^' '{print $4}'`
	#CARDTYPE=`echo $VIDEOCARD | awk -F'^' '{print $5}'`
        DEVID=`echo $VIDEOCARD | awk -F'^' '{print $6}'`

	echo
	echo "How many head(s) in the Video Card #$CARDNUM ($BOARDNAME)?"
	read_input

	if [ "$HEADNUM" == "1" ]; then
		echo "$BUSID^$VENDORNAME^$BOARDNAME^$DRIVER^1^$DEVID" >> /etc/mvgainfo.new
	else
		echo "$BUSID^$VENDORNAME^$BOARDNAME^$DRIVER^2^$DEVID" >> /etc/mvgainfo.new
	fi
done < /etc/mvgainfo

rm -f /etc/mvgainfo
mv -f /etc/mvgainfo.new /etc/mvgainfo

rm -f /etc/usbinput
rm -f /etc/mvgainfo.fail
rm -f /etc/X11/xdm/Xservers

/opt/userful/bin/dm-gen-xconfig.sh -1box

echo
echo "Configuration completed"
echo "Please reboot system to enable the new configuration."

INPUT=
while [ "$INPUT" != "y" -a "$INPUT" != "n" ];
do
	echo ""
    echo " Do you want reboot the system now? [y/n]"
    read -n 1 INPUT
done

if [ "$INPUT" = "y" ]; then
    sync;sync;reboot;reboot
    exit 0
fi
