#!/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

# Screen size
SCREEN_W=`sed -n "s/screenw=\(.*\)/\1/p" $MP_CONF`
SCREEN_H=`sed -n "s/screenh=\(.*\)/\1/p" $MP_CONF`
echo "$SPACES Screen Size : $SCREEN_W X $SCREEN_H" >> $INFO_FILE

# IP - loopback device has no broadcast address
IP_ADDR=`ifconfig | sed -n "s/.*inet addr:\(.*\)\ .Bcast.*/\1/p"`
echo "$SPACES IP : $IP_ADDR" >> $INFO_FILE

# MAC - loopback device has no HWaddr
MAC_ADDR=`ifconfig | sed -n "s/.*HWaddr \(.*\)/\1/p"`
echo "$SPACES MAC : $MAC_ADDR" >> $INFO_FILE

# Disk Usage/Size
df -h | grep "sd" | 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

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

exit 0
