home *** CD-ROM | disk | FTP | other *** search
/ tusportal.tus.k12.pa.us / tusportal.tus.k12.pa.us.tar / tusportal.tus.k12.pa.us / Wyse / latest-image.raw / 0.img / sbin / bootanim < prev    next >
Text File  |  2010-05-05  |  3KB  |  146 lines

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