Author: shadzik Date: Fri May 5 22:24:30 2006 GMT Module: SOURCES Tag: HEAD ---- Log message: - readded for bootsplash-3.2
---- Files affected: SOURCES: bootsplash-bootanim.script (1.6 -> 1.7) (NEW) ---- Diffs: ================================================================ Index: SOURCES/bootsplash-bootanim.script diff -u /dev/null SOURCES/bootsplash-bootanim.script:1.7 --- /dev/null Sat May 6 00:24:30 2006 +++ SOURCES/bootsplash-bootanim.script Sat May 6 00:24:25 2006 @@ -0,0 +1,137 @@ +#!/bin/bash +# +# bootanim - boot animation wrapper script for fbmngplay +# +# This program parses /etc/bootsplash/[THEME]/config/bootsplash-XxY.cfg +# to determine the correct animation position. +# +# This program is free software; you may redistribute it under the terms +# of the GNU General Public License. This program has absolutely no warranty. +# +# (C) 2002,2003 SuSE Linux AG. Written by Stefan Reinauer <[EMAIL PROTECTED]> +# +# See http://www.bootsplash.org/ for more information. +# + +usage() +{ + echo "usage: $0 [start|stop|kill|next] -m [-r XxY] [-d dir] mng1 [mng2..]" + cat << EOF + + Available commands: + start starts given animation + stop fades out all running animations + kill immediately stops all animations + next continue to next animation. + + Options for use with start command: + -r XxY screen resolution to use if unable to autodetect. + -d dir directory containing the animation files + -m play multiple animations + mng1|mng2 animation filename(s). Specify -m if multiple. + +EOF + +} + +if [ "$UID" -ne "0" ]; then + echo "$0 must be started as user root!!!" + echo "Exiting..." + exit 1 +fi + +THEME="No theme selected" +[ -f /etc/sysconfig/bootsplash ] && . /etc/sysconfig/bootsplash + +if [ ! -d /etc/bootsplash/themes/$THEME ] +then + echo "$0: could not find theme $THEME in /etc/bootsplash/themes." + exit 0 +fi + +MODE=$(/bin/fbresolution 2>/dev/null) +DIRECTORY=/etc/bootsplash/themes/$THEME/animations +OPTIONS="-b -c 1" +FILES="" + +case "$1" in +start) + # echo "$0 start" + # We fall through here. + ;; +stop) + # echo "$0 stop" + /bin/killall -q -2 fbmngplay + exit 0 + ;; +kill) + # echo "$0 kill" + /bin/killall -q fbmngplay + exit 0 + ;; +next) + # echo "$0 next" + /bin/killall -q -USR1 fbmngplay + exit 0 + ;; +*) + usage; + echo " Error: illegal parameter."; + exit 1 + ;; +esac + +shift + +# We end up in bootanim start +while getopts mr:d: name "$@"; do + # echo "loop: $*" + case "$name" in + d) # directory + shift + if [ ! -d "$OPTARG" ]; then + echo "Not a valid directory." + exit 1 + fi + DIRECTORY=$OPTARG + shift + ;; + r) # resolution + shift + MODE=$OPTARG; + shift + ;; + m) # multiple files + shift + OPTIONS="$OPTIONS -s" + ;; + *) # Weird + shift + echo "Internal Error." + exit 1 + ;; + esac +done + +function box() { true; } # ignore box descriptions in the config file + +# Sourcing config file +if [ -f /etc/bootsplash/themes/$THEME/config/bootsplash-$MODE.cfg ]; then + . /etc/bootsplash/themes/$THEME/config/bootsplash-$MODE.cfg +else + echo "$0: No config file found for theme $THEME ($MODE)." + exit 1 +fi + +# echo "Dir: $DIRECTORY" +# echo "Files: $*" +# echo "Mode: $MODE" +# echo "Pos: $ax,$ay" +# echo "options: $OPTIONS" + +CMDLINE="/bin/fbmngplay -x $ax -y $ay $OPTIONS" +for i in $*; do + CMDLINE="$CMDLINE $DIRECTORY/$i" +done + +eval "$CMDLINE &" ================================================================ _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
