]> git.pld-linux.org Git - packages/bootsplash.git/blame - bootsplash-bootanim.script
- rebuild with libmng 2.0.2
[packages/bootsplash.git] / bootsplash-bootanim.script
CommitLineData
90c5ca2a 1#!/bin/bash
2#
3# bootanim - boot animation wrapper script for fbmngplay
4#
5# This program parses /etc/bootsplash/[THEME]/config/bootsplash-XxY.cfg
6# to determine the correct animation position.
7#
8# This program is free software; you may redistribute it under the terms
9# of the GNU General Public License. This program has absolutely no warranty.
10#
11# (C) 2002,2003 SuSE Linux AG. Written by Stefan Reinauer <stepan@suse.de>
12#
13# See http://www.bootsplash.org/ for more information.
14#
15
16usage()
17{
18 echo "usage: $0 [start|stop|kill|next] -m [-r XxY] [-d dir] mng1 [mng2..]"
19 cat << EOF
20
21 Available commands:
22 start starts given animation
23 stop fades out all running animations
24 kill immediately stops all animations
25 next continue to next animation.
26
27 Options for use with start command:
28 -r XxY screen resolution to use if unable to autodetect.
29 -d dir directory containing the animation files
30 -m play multiple animations
31 mng1|mng2 animation filename(s). Specify -m if multiple.
32
33EOF
34
35}
36
37if [ "$UID" -ne "0" ]; then
38 echo "$0 must be started as user root!!!"
39 echo "Exiting..."
40 exit 1
41fi
42
43THEME="No theme selected"
44[ -f /etc/sysconfig/bootsplash ] && . /etc/sysconfig/bootsplash
45
46if [ ! -d /etc/bootsplash/themes/$THEME ]
47then
48 echo "$0: could not find theme $THEME in /etc/bootsplash/themes."
49 exit 0
50fi
51
52MODE=$(/bin/fbresolution 2>/dev/null)
53DIRECTORY=/etc/bootsplash/themes/$THEME/animations
54OPTIONS="-b -c 1"
55FILES=""
56
57case "$1" in
58start)
59 # echo "$0 start"
60 # We fall through here.
61 ;;
62stop)
63 # echo "$0 stop"
64 /bin/killall -q -2 fbmngplay
65 exit 0
66 ;;
67kill)
68 # echo "$0 kill"
69 /bin/killall -q fbmngplay
70 exit 0
71 ;;
72next)
73 # echo "$0 next"
74 /bin/killall -q -USR1 fbmngplay
75 exit 0
76 ;;
77*)
78 usage;
79 echo " Error: illegal parameter.";
80 exit 1
81 ;;
82esac
83
84shift
85
86# We end up in bootanim start
87while getopts mr:d: name "$@"; do
88 # echo "loop: $*"
89 case "$name" in
90 d) # directory
91 shift
92 if [ ! -d "$OPTARG" ]; then
93 echo "Not a valid directory."
94 exit 1
95 fi
96 DIRECTORY=$OPTARG
97 shift
98 ;;
99 r) # resolution
100 shift
101 MODE=$OPTARG;
102 shift
103 ;;
104 m) # multiple files
105 shift
106 OPTIONS="$OPTIONS -s"
107 ;;
108 *) # Weird
109 shift
110 echo "Internal Error."
111 exit 1
112 ;;
113 esac
114done
115
116function box() { true; } # ignore box descriptions in the config file
117
118# Sourcing config file
119if [ -f /etc/bootsplash/themes/$THEME/config/bootsplash-$MODE.cfg ]; then
120 . /etc/bootsplash/themes/$THEME/config/bootsplash-$MODE.cfg
121else
122 echo "$0: No config file found for theme $THEME ($MODE)."
123 exit 1
124fi
125
126# echo "Dir: $DIRECTORY"
127# echo "Files: $*"
128# echo "Mode: $MODE"
129# echo "Pos: $ax,$ay"
130# echo "options: $OPTIONS"
131
132CMDLINE="/bin/fbmngplay -x $ax -y $ay $OPTIONS"
133for i in $*; do
134 CMDLINE="$CMDLINE $DIRECTORY/$i"
135done
136
137eval "$CMDLINE &"
This page took 0.071158 seconds and 4 git commands to generate.