#!/bin/sh

# File is used to dynamically generate the info menu text, to avoid possible
# lock-ups on some h/w reported when using code directly in MPlayer libmenu

INFO_FILE="/tmp/info.txt"
MP_CONF="/etc/mplayer/mplayer.conf"
SPACES="    " # to offset entries by 4 + 1 spaces each time

# Add empty lines at top of file and clear any previous file entries
echo -e "\n\n" > $INFO_FILE

# GeeXboX version
GEEX_VERSION=`cat /etc/version`
echo "$SPACES Version : $GEEX_VERSION" >> $INFO_FILE

# MPlayer revision
MP_VERSION=`cat /etc/mp_version`
echo "$SPACES MPlayer Rev : $MP_VERSION" >> $INFO_FILE

# Wii cpu PVR value
WIICPU=`cat /proc/cpuinfo | grep cpu | sed "s/.*:\ //"`
WIICPU="$WIICPU("`cat /proc/cpuinfo | grep revision | sed 's/.*pvr\ \([0-9 ]*\).*/\1/'`")"
[ -n "$WIICPU" ] && echo "$SPACES WII CPU (Version) : $WIICPU" >> $INFO_FILE

# CPU : get cpu load
echo "$SPACES CPU load : `sed -n 's/\([0-9]*\.[[0-9]*\ [[0-9]*\.[[0-9]*\ [[0-9]*\.[[0-9]*\).*/\1/p' /proc/loadavg`" >> $INFO_FILE

# Interface & MAC infos
echo "$SPACES `ifconfig  | sed -n "s/\([^ ]*\).*dr \([^ ]*\)/Net : \1 ( \2 )/p"`" >> $INFO_FILE

# IP - loopback device has no broadcast address
echo "$SPACES IP : `ifconfig | sed -n \"s/[ \t]\{1,\}inet addr\://;s/Bcast.*//p\"`" >> $INFO_FILE

# Wiimote MAC
[ -f /tmp/wiimote ] && WIIMOTE=`cat /tmp/wiimote`
[ -n "$WIIMOTE" ] && echo -e "$SPACES WIIMOTE : $WIIMOTE" >> $INFO_FILE

# Disk Usage/Size
df -h | grep "FRONTSD" | sed -n "s#\([^\ ]*\)\ *\([^\ ]*\)\ *\([^\ ]*\).*#$SPACES \1 : \3 / \2#p" >> $INFO_FILE
df -h | grep "disk" | sed -n "s#\([^\ ]*\)\ *\([^\ ]*\)\ *\([^\ ]*\).*#$SPACES \1 : \3 / \2#p" >> $INFO_FILE

# CD/DVD size
df -h | grep "cdrom" | sed -n "s#\([^\ ]*\)\ *\([^\ ]*\)\ *\([^\ ]*\).*#$SPACES \1 : \2#p" >> $INFO_FILE

echo -e "\n\n" >> $INFO_FILE

# Display the completed menu file
echo "set_menu info" > /var/mp_control

exit 0
