diff options
author | Florent Villard <warly@mandriva.com> | 2005-02-16 16:52:00 +0000 |
---|---|---|
committer | Florent Villard <warly@mandriva.com> | 2005-02-16 16:52:00 +0000 |
commit | 31bf1c63e12f7f5251cdb02d726d466732191f97 (patch) | |
tree | daab5496cace174eff56c800390b143fd42bcd10 /scripts | |
parent | 481cc08bc029573587a2d87c41fcf598af217046 (diff) | |
download | bootsplash-31bf1c63e12f7f5251cdb02d726d466732191f97.tar bootsplash-31bf1c63e12f7f5251cdb02d726d466732191f97.tar.gz bootsplash-31bf1c63e12f7f5251cdb02d726d466732191f97.tar.bz2 bootsplash-31bf1c63e12f7f5251cdb02d726d466732191f97.tar.xz bootsplash-31bf1c63e12f7f5251cdb02d726d466732191f97.zip |
add last beta 2 changes for animations and fbmenu
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile | 2 | ||||
-rw-r--r-- | scripts/bootanim | 143 |
2 files changed, 144 insertions, 1 deletions
diff --git a/scripts/Makefile b/scripts/Makefile index 6b46046..aab60d6 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -1,6 +1,6 @@ PL=remove-boot-splash SH=make-boot-splash rewritejpeg switch-themes remove-theme -SBIN=splash.sh +SBIN=splash.sh bootanim SYS=bootsplash.sysconfig sharedir=/usr/share diff --git a/scripts/bootanim b/scripts/bootanim new file mode 100644 index 0000000..f0c7f30 --- /dev/null +++ b/scripts/bootanim @@ -0,0 +1,143 @@ +#!/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 <stepan@suse.de> +# +# 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" +test -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" + killall -q -2 fbmngplay + exit 0 + ;; +kill) + # echo "$0 kill" + killall -q fbmngplay + exit 0 + ;; +next) + # echo "$0 next" + killall -q -USR1 fbmngplay + exit 0 + ;; +*) + usage; + echo " Error: illegal parameter."; + exit 1 + ;; +esac + +shift + +# We end up in bootanim start + +TEMP=`getopt -o mr:d: -- "$@"` +eval set -- "$TEMP" + +while true ; do + # echo "loop: $*" + case "$1" in + -d) # directory + shift + if [ ! -d "$1" ]; then + echo "Not a valid directory." + exit 1 + fi + DIRECTORY=$1 + shift + ;; + -r) # resolution + shift + MODE=$1; + shift + ;; + -m) # multiple files + shift + OPTIONS="$OPTIONS -s" + ;; + --) # end + shift + break;; + *) # Weird + 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="fbmngplay -x $ax -y $ay $OPTIONS" +for i in $*; do + CMDLINE="$CMDLINE $DIRECTORY/$i" +done + +eval "$CMDLINE &" |