#!/bin/bash . /etc/profile . /etc/systemconfig if [ -e /etc/X11/WINDOWMANAGER ] then . /etc/X11/WINDOWMANAGER fi xhost +local: xhost +127.0.0.1 xset -dpms s off export MALLOC_CHECK_=0 # # Run any scripting that applies to special hardware. These brand-specific commands that run # # after Tweaker will, of course, override generic or hardware-specific settings. # SpecialHardwareCommands() { # special_hardware_file=/myth/.special_hardware_type # special_hardware=`cat $special_hardware_file` # # case $special_hardware in # dragon*) # sudo -E twk_audio.pl --implement digital # sudo -E twk_dragon.pl --implement all # ;; # ausdragon*) # ;; # *) # # there are no brand-specific commands for configuring whatever # # special hardware the user chose # ;; # esac # } . /etc/osd_cat.cfg || { color=yellow outline=2 outlinecolour=black shadow=0 shadowcolour=black font="-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*" } function delay_osd(){ if [ x$STARTUP_STYLE = xmythvantage ] then cmd="ps -ef | grep -v grep | grep xmsg.py" else cmd="ps -ef | grep -v grep | grep osd_cat" fi eval $cmd rc=$? while [ $rc = 0 ] do eval $cmd rc=$? done } function msg_osd(){ echo -e "$1" | osd_cat --pos=middle --align=center --offset=200 --delay=5 --color=$color --outline=$outline --outlinecolour=$outlinecolour --shadow=$shadow --shadowcolour=$shadowcolour --font=$font } function msg_pyosd(){ /usr/LH/bin/xmsg.py -m "$1" } function msg(){ if [ x$STARTUP_STYLE = xmythvantage ] then msg_pyosd "$1" else msg_osd "$1" fi } function unclutter(){ if [ -e /etc/unclutter ] then . /etc/unclutter.cfg else idle=1 jitter=200 fi /usr/X11R6/bin/unclutter -root -idle $idle -jitter $jitter -noevents & } function keylaunch(){ if [ -f /usr/bin/keylaunch ] then # MHOME=`cat /etc/passwd | grep "mythtv" | cut -d":" -f6` if [ ! -e $HOME/.keylaunchrc ] then echo "setting symlink for keylaunch" ln -s /etc/keylaunchrc $HOME/.keylaunchrc fi /usr/bin/keylaunch & fi } function load_nvidia_settings(){ lsmod |cut -f1 -d" " |grep -q nvidia if [ $? = 0 ] then /usr/bin/nvidia-settings --load-config-only fi } function run_tilda(){ if [ -f /usr/bin/tilda ] then if [ ! -e ~/.tilda/config_0 ] then mkdir -p ~/.tilda/ fi width=`/usr/bin/xwininfo -root|grep Width | awk '{ print $2}'` height=`/usr/bin/xwininfo -root|grep Height | awk '{ print $2}'` center=$[width/2] sixtypercent=`echo "scale=0; ( $width*.6) / 1" |bc` quarter_height=`echo "scale=0; ($height*.35) /1" |bc` if [ $sixtypercent -lt 700 ] then sixtypercent=700 fi if [ $quarter_height -lt 350 ] then quarter_height=350 fi startloc=`echo "scale=0 ; (${center}-(${sixtypercent})/2) / 1" |bc` sed -e "s/^max_width.*$/max_width = $sixtypercent/" \ -e "s/^max_height.*$/max_height = $quarter_height/" \ -e "s/^x_pos.*$/x_pos = $startloc/g" /etc/tilda_config > ~/.tilda/config_0 /usr/bin/tilda -h & fi } function mouse_move(){ #move mouse to corner xdotool mousemove 0 0 } function start_screensaver(){ if [ x"$Screensavertype" = "xgscreensaver" ] then gnome-screensaver & elif [ x"$Screensavertype" = "xxscreensaver" ] then xscreensaver -no-splash & fi } function show_help_tip(){ if [ x$ShowTips = "x1" ] then msg "Alt+h for help" & fi } function notify_scan(){ delay_osd if [ -e /tmp/scan_report ] then msg "\nNew storage found. \nRun add_storage.py for details" fi } function update_apple_trailers(){ #update apple trailers if [[ x$RunFrontend = x1 && -f ~/.configure ]] then /usr/bin/php -q /usr/bin/myth_trailers_grabber > /home/mythtv/appletrailer.xml && /usr/bin/fix_aple_url.sh 2>/dev/null & fi } function first_configure(){ if [ x$STARTUP_STYLE = xmythvantage ] then first_configure_mv else first_configure_default fi } function first_configure_default(){ if [ ! $SystemType = "Frontend_only" ] then if [ -f ~/.configure ] then # Run Tweaker, which applies generic and hardware-specific settings if [ ! -f ~/.no_meth ] then #remove tweaker cause it's broken and duplicates entries #sudo -E tweaker.pl #/bin/rm /tmp/fps # ??? clean up a temp file that will eventually be obsolete anyway # Run any brand-specific commands, if necessary. SpecialHardwareCommands else rm -f ~/.no_meth fi sudo sv stop mythbackend /usr/LH/bin/dtheme.sh xterm -fn *18* -e sudo taskset -c 0 /usr/bin/mythtv-setup sudo sv start mythbackend sudo chown -R mythtv.mythtv /home/mythtv nice -n 19 mythfilldatabase --quiet & msg "Guide data is being loaded. \n Until this completes\n some shows will appear as unknown \n in the program guide." rm ~/.configure fi fi } function first_configure_mv(){ if [ ! $SystemType = "Frontend_only" ] then if [ -f ~/.configure ] then msg "This is the first time starting MythTV.\nThe MythTV backend process will be stopped for setup." #for now skip these #autocard.py -g & #MythVantage -b #0 yes #1 yes/autodetech #2 no STATUS=$? if [ ! $STATUS = 2 ] then /usr/MythVantage/bin/backend_control.sh stop BE 127.0.0.1 msg "MythTV setup is starting.\nPlease follow the steps for adding tuners and guide data." /usr/bin/taskset -c 0 /usr/bin/mythtv-setup /usr/MythVantage/bin/backend_control.sh start BE 127.0.0.1 fi nice -n 19 mythfilldatabase --quiet & msg "Guide data is being loaded. \nUntil this completes \nsome shows will appear as "unknown" \nin the program guide." rm -f ~/.configure fi fi } function start_myth() { if [ x"$UseMythWelcome" = "x1" ] then STARTCMD="/usr/bin/mythwelcome" else STARTCMD="/usr/bin/mythfrontend -d -l /var/log/mythtv/mythfrontend.log" fi echo "=====================================================================" echo "Starting $STARTCMD" firstboot.sh & #continue on with starting mythtv if [ x$STARTUP_STYLE = xmythvantage ] then start_myth_mv else run_myth fi } function run_myth(){ if [ -f /tmp/nomfe ] then exit 0 else if [ -f /tmp/debug ] then echo "using gbd/debug" gdb /usr/bin/mythfrontend -x $MV_ROOT/mfegdbcommands.txt mv gdb.txt gdb.txt.mythfrontend sleep 5 else killall -9 irexec /usr/bin/irexec -d if [ x$STARTUP_STYLE = xmythvantage ] then $STARTCMD 2>&1 else $STARTCMD 2>&1 & fi fi fi } function start_myth_mv(){ while [ x = x ] do run_myth echo "_______________________________________________________" done } function set_background() { echo "Setting the background" } if [ x$WM = "x" ] then fluxbox > /var/log/fluxbox.log 2>&1 else #if using mythvantage style, start the WM right away # this is done so that starting mythtv can loop. $WM & pid=$! mouse_move keylaunch set_background unclutter load_nvidia_settings run_tilda start_screensaver show_help_tip notify_scan & update_apple_trailers first_configure start_myth # wait for the windowmanger #This will make the session wait on the WM to exit. if [ x$STARTUP_STYLE != xmythvantage ] then wait $pid fi fi