aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorFlorent Villard <warly@mandriva.com>2005-02-16 16:52:00 +0000
committerFlorent Villard <warly@mandriva.com>2005-02-16 16:52:00 +0000
commit31bf1c63e12f7f5251cdb02d726d466732191f97 (patch)
treedaab5496cace174eff56c800390b143fd42bcd10 /scripts
parent481cc08bc029573587a2d87c41fcf598af217046 (diff)
downloadbootsplash-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/Makefile2
-rw-r--r--scripts/bootanim143
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 &"