]> git.pld-linux.org Git - packages/bootsplash.git/blame - bootsplash-bootanim.script
- added init script for activating bootsplash on other consoles
[packages/bootsplash.git] / bootsplash-bootanim.script
CommitLineData
5db976e5
AM
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"
d8464cf5 44[ -f /etc/sysconfig/bootsplash ] && . /etc/sysconfig/bootsplash
5db976e5
AM
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
0315d846 52MODE=$(/bin/fbresolution 2>/dev/null)
5db976e5
AM
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"
d8464cf5 64 /bin/killall -q -2 fbmngplay
5db976e5
AM
65 exit 0
66 ;;
67kill)
68 # echo "$0 kill"
d8464cf5 69 /bin/killall -q fbmngplay
5db976e5
AM
70 exit 0
71 ;;
72next)
73 # echo "$0 next"
d8464cf5 74 /bin/killall -q -USR1 fbmngplay
5db976e5
AM
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
d8464cf5 87while getopts mr:d: name "$@"; do
5db976e5 88 # echo "loop: $*"
d8464cf5
AM
89 case "$name" in
90 d) # directory
5db976e5 91 shift
d8464cf5 92 if [ ! -d "$OPTARG" ]; then
5db976e5
AM
93 echo "Not a valid directory."
94 exit 1
95 fi
d8464cf5 96 DIRECTORY=$OPTARG
5db976e5
AM
97 shift
98 ;;
d8464cf5 99 r) # resolution
5db976e5 100 shift
d8464cf5 101 MODE=$OPTARG;
5db976e5
AM
102 shift
103 ;;
d8464cf5 104 m) # multiple files
5db976e5
AM
105 shift
106 OPTIONS="$OPTIONS -s"
107 ;;
5db976e5 108 *) # Weird
d8464cf5 109 shift
5db976e5
AM
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
836926fe 132CMDLINE="/bin/fbmngplay -x $ax -y $ay $OPTIONS"
5db976e5
AM
133for i in $*; do
134 CMDLINE="$CMDLINE $DIRECTORY/$i"
135done
136
137eval "$CMDLINE &"
This page took 0.069503 seconds and 4 git commands to generate.