ply_client() {
[ -x /bin/plymouth ] && /bin/plymouth "$@"
}
ply_daemon() {
[ -x /sbin/plymouthd ] && /sbin/plymouthd "$@"
}
stat_busy() {
case "$1" in
"Mounting Local Filesystems")
ply_client --newroot=/
;;
"Activating Swap")
ply_client --sysinit
;;
esac
ply_client --update="$1"
ply_client message --text="$1"
printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
printf "${SAVE_POSITION}"
deltext
printf " ${C_OTHER}[${C_BUSY}BUSY${C_OTHER}]${C_CLEAR} "
}
stat_fail() {
ply_client --quit
deltext
printf " ${C_OTHER}[${C_FAIL}FAIL${C_OTHER}]${C_CLEAR} \n"
}
ply_end(){
if [ "$0" == "/etc/rc.shutdown" ]; then
XPID=`pidof X`
if [ "$XPID" ]; then
RUNLEVEL=`runlevel`
if [ "${RUNLEVEL:2:4}" != '5' ]; then
[ -e /var/run/daemons/slim ] && /etc/rc.d/slim stop
[ -e /var/run/daemons/gdm ] && /etc/rc.d/gdm stop
[ -e /var/run/daemons/kdm ] && /etc/rc.d/kdm stop
[ -e /var/run/daemons/xdm ] && /etc/rc.d/xdm stop
[ -e /var/run/daemons/entrance ] && /etc/rc.d/entrance stop
fi
kill -9 $XPID &> /dev/null
fi
ply_daemon --mode=shutdown --pid-file=/tmp/plymouthd
ply_client --show-splash
while [[ ( $(ps h $(cat /tmp/plymouthd)) ) && ( $ply_wait -lt 5 ) ]]; do
ply_wait=$(( $ply_wait + 1 ))
sleep 1
done
[[ $(ps h $(cat /tmp/plymouthd)) ]] && kill -9 $(cat /tmp/plymouthd)
fi
ply_client quit --retain-splash
}
add_hook multi_end ply_end