#!/bin/sh
# Author: Horms <horms@verge.net.au>
#
# Debian init script for entrance
# based on /etc/init.d/skeleton
#

# Change to false to run even if entrance is not the default display manager
HEED_DEFAULT_DISPLAY_MANAGER=true

DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
PIDFILE=/var/run/entranced.pid
DAEMON=/usr/sbin/entranced
NAME=entrance
PATH=/bin:/usr/bin:/sbin:/usr/sbin

test -x $DAEMON || exit 0

if [ -f "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
	DEFAULT_DISPLAY_MANAER=`cat $DEFAULT_DISPLAY_MANAGER_FILE`
fi

case "$1" in
	start)
	if [ "$DEFAULT_DISPLAY_MANAGER_FILE" != "false" ] &&
	   [ "$DEFAULT_DISPLAY_MANAER" != "$DAEMON" ]; then
		echo "Not starting $NAME, as it is not the default display"\
		     "manager" >& 2
		exit 0
	fi
	start-stop-daemon --start --verbose --pidfile "$PIDFILE" \
        		--exec "$DAEMON"
	;;

 	stop)
	start-stop-daemon --stop --verbose --pidfile "$PIDFILE" \
        		--exec "$DAEMON"
	rm -f "$PIDFILE"
	;;

  	restart|force-reload)
	if [ -f "$PIDFILE" ]; then
		PID=`cat $PIDFILE`
    		$0 stop
		for i in `seq 1 7`; do
			kill -0 $PID 2>/dev/null || break
			sleep 1
		done
		! kill -0 $PID 2>/dev/null || exit 1
	fi
	$0 start 
	;;

 	status)
	[ ! -f "$PIDFILE" ] && exit 3
	if [ start-stop-daemon --status --verbose --signal \
	     --pidfile "$PIDFILE" --exec "$DAEMON" ]; then
		exit 1
	fi
	;;

	*)
	echo "Usage: /etc/init.d/$NAME" \
		"{start|stop|restart|force-reload|status}" >&2
    	exit 1
	;;
esac

exit 0
