#!/bin/sh

### BEGIN INIT INFO
# Provides:		plymouth
# Required-Start:	udev $remote_fs $all
# Required-Stop:	$remote_fs
# Should-Start:		gdm gdm3 kdm xdm slim nodm
# Should-Stop:		gdm gdm3 kdm xdm slim nodm
# Default-Start:	2 3 4 5
# Default-Stop:		0 6
# Short-Description:	Stop plymouth during boot and start it on shutdown
### END INIT INFO

PATH="/sbin:/bin:/usr/sbin:/usr/bin"
NAME="plymouth"
DESC="Boot splash manager"
SPLASH="false"

test -x /sbin/plymouthd || exit 0

if [ -r "/etc/default/${NAME}" ]
then
	. "/etc/default/${NAME}"
fi

set -e

Start_plymouthd ()
{
	if ! plymouth --ping
	then
		/sbin/plymouthd --mode=${1} --attach-to-session
	fi
}

for ARGUMENT in $(cat /proc/cmdline)
do
	case "${ARGUMENT}" in
		splash*)
			SPLASH="true"
			;;

		nosplash*)
			SPLASH="false"
			;;
	esac
done

case "${1}" in
	start)
		if [ "${SPLASH}" = "true" ]
		then
			/bin/plymouth --quit
		fi
		;;

	stop)
		if [ "$SPLASH" = "true" ]
		then
			Start_plymouthd shutdown

			RUNLEVEL="$(/sbin/runlevel | cut -d " " -f 2)"

			case "${RUNLEVEL}" in
				0)
					TEXT="Shutting down system..."
					;;

				6)
					TEXT="Restarting system..."
					;;
			esac

			/bin/plymouth message --text="${TEXT}"

			/bin/plymouth --show-splash
		fi
		;;

	restart|force-reload)

		;;

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

exit 0
