#!/bin/bash
########################################
##  D_SKYWALK WINE GAMES WITH COMPIZ  ##
##         UBUNTU GUTSY SCRIPT        ##
##     GPL v2 (c) 2007 - D_Skywalk    ##
##         dskywalk@gmail.com         ##
## @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ##
##           version 1.0              ##
########################################
## TODO
# - añadir profundidad de color descomentando la opcion :?
# - Buscar explicacion para los multiples intros si se lanza desde terminal.
#
# WEB: http://david.dantoine.org

#########################
## CONFIGURATION

DEFAULT_WINEPATH="$HOME/.wine/"

#########################
## ADVANCED CONFIG
DISPLAY_NUMBER=":1"
MOUSE_SENSITIVITY="1.15/15"
PRIORITY=-5 # cuidado - take care

#########################
## DONT TOUCH!!! !! !

## PROGRAM VARIABLES 

for i in $@; do
	if [ "$i" == "--safe" ]; then
		SAFE="ON"
		echo "-- SAFE ON"
	elif [ "$i" != "$PRG" ]; then
		ARG="$ARG $i"
	fi
done

if [ "$#" -lt 1 ]; then
	echo "usage $0 pathtoexe [arguments] [--safe]"
	echo " "
	echo "WINE Lauch Script v$version"
	echo " (c) 2007 D_Skywalk under GPLv2 "
	exit 0
fi


if [ -z $WINEPREFIX ]; then  
	WPREFIX=$DEFAULT_WINEPATH
else
	WPREFIX=$WINEPREFIX
fi

version=1.0
PRG=$1
WINEBIN=wine
LAUNCHER="env WINEDEBUG=\"-all\" WINEPREFIX=\"$WPREFIX\" $WINEBIN \"$PRG\" $ARG"

SCRIPT="xset mouse $MOUSE_SENSITIVITY
nice $PRIORITY $LAUNCHER
wait"

## CODE

# Run full screen on display 1?
# export DISPLAY=$DISPLAY_NUMBER
   
# Make sure user is allowed to use display 1.
[ "`xauth list $DISPLAY_NUMBER`" ] || xauth add $DISPLAY_NUMBER . `mcookie`

function init_safemode {
	/bin/sh -c "X $DISPLAY_NUMBER -ac -nolisten tcp &" # &> /dev/null # elimina info
	DISPLAY=$DISPLAY_NUMBER /bin/sh -c "$SCRIPT"
}

function init_basic {
	xinit /bin/sh -c "$SCRIPT" -nolisten tcp -- $DISPLAY_NUMBER # &> /dev/null # elimina info
}

if [ "$SAFE" == "ON" ]; then
	init_safemode
else
	init_basic
fi

exit 0
