#!/bin/sh
# $FreeBSD: branches/2018Q4/x11/sddm/files/sddm.in 479245 2018-09-08 10:28:11Z adridg $
#
# PROVIDE: sddm
# REQUIRE: LOGIN cleanvar moused syscons dbus hald
# KEYWORD: shutdown
#
# Add the following to /etc/rc.conf to start SDDM at boot time:
#
# sddm_enable="YES"

. /etc/rc.subr

name=sddm
rcvar=sddm_enable

load_rc_config ${name}

: ${sddm_lang="en_US"} # .UTF-8 suffix will be added later to comply with locale format
: ${sddm_enable="NO"}

command="/usr/local/bin/sddm"
start_cmd="sddm_start"

sddm_start()
{
	echo "Starting ${name}."
	local iter

	( iter=0
	while ! pgrep -f "^/usr/libexec/getty " > /dev/null; do
		if [ ${iter} -eq 60 ]; then
			break
		fi
		sleep 1
		iter=$((${iter} + 1))
	done

	if checkyesno hald_enable; then
		if [ ! -x /usr/local/sbin/hald ]; then
			err 1 "Hald does not seem to be installed."
		fi

		iter=0
		while [ ${iter} -lt 60 ] &&
			! pgrep -f "^/usr/local/sbin/hald" > /dev/null; do
			sleep 1
			iter=$((${iter} + 1))
		done
	fi

	LANG=${sddm_lang}.UTF-8 ${command} ${sddm_flags} ) &
}

run_rc_command "$1"
