#!/bin/ash
ALLTRAYDIR=/usr/share/sdesk
[ ! -d "$HOME/.alltray" ] && mkdir "$HOME/.alltray"
[ ! -f "$HOME/.alltray/alltrayrc" ] && cp "$ALLTRAYDIR/alltrayrc" "$HOME/.alltray"
. "$HOME/.alltray/alltrayrc"

NETSVG='<svg width="48" height="48" id="svg1" xmlns:xlink="http://www.w3.org/1999/xlink">
	<image xlink:href="/usr/share/midi-icons/www48.png" width="48" height="48" id="image1"/>'
net(){
	#we just do transmit and receive, could use /proc/net/wireless for signal to modify icon further
	#todo - come up with an svg-only main icon(s), so it isn't Puppy specific
OLDIFS="$IFS"
IFS="$IFS:"
NETIMG=$NETSVG''
while read IFACE RBYTES RPACKS RERRS RDROP RFIFO RFRAM RCOMP RMULTI TBYTES TPACKS TERRS TDROP TFIFO TCOLLS TCAR TCOMP
do 
case $IFACE in
	eth*|wlan*)[ $RBYTES -gt ${LASTRBYTES:-0} ] && LASTRBYTES=$RBYTES && \
	NETIMG=$NETIMG'<path id="path1" style="fill:#00FF00;fill-opacity:0.6;stroke-width:0;"
		d="M 46.5,17.8 L 36.8,29.0 L 27.2,17.8 L 32.1,17.8 C 33.7,13.4
		30.4,10.6 26.5,10.6 C 23.7,10.6 19.9,12.1 18.6,15.9 C 18.0,17.9
		16.8,17.0 16.8,15.3 C 17.0,8.7 21.9,3.4 29.3,3.4 C 36.6,3.4
		42.1,9.1 41.7,17.8 L 46.5,17.8 z" />'
	[ $TBYTES -gt ${LASTTBYTES:-0} ] && LASTTBYTES=$TBYTES && \
	NETIMG=$NETIMG'<path id="path2" style="fill:#00FF00;fill-opacity:0.6;stroke-width:0;"
		d="M 1.5,30.2 L 11.2,19.0 L 20.8,30.2 L 15.9,30.2 C 14.3,34.6
		17.6,37.4 21.5,37.4 C 24.3,37.4 28.1,35.9 29.4,32.1 C 30.0,30.1
		31.2,31.0 31.2,32.7 C 31.0,39.3 26.1,44.6 18.7,44.6 C 11.4,44.6
		5.9,38.9 6.3,30.2 L 1.5,30.2 z" />'
	;;
esac
done</proc/net/dev
[ "$NETIMG" != "$LASTNETIMG" ] && echo "$NETIMG
</svg>" >$ICONDIR/net.svg && LASTNETIMG=$NETIMG
IFS="$OLDIFS"
}

bat(){
: use /proc/acpi/battery/*
}

mem(){
: use /proc/meminfo
}

snd(){
: use ???
}

end(){
killall sdesk
exit
}

SDESK='sdesk'
[ "$BG" ] && SDESK="$SDESK -b"
[ "$FUNCS" ] && SDESK="$SDESK -i \"$FUNCS\""
[ "$NET" ] &&  SDESK="$SDESK -t \"$ICONDIR/net.svg\" \"$NETTT\" \"$NETLC\" \"$NETRC\"" && echo "$NETSVG</svg>" >$ICONDIR/net.svg
#add more here when complete

eval $SDESK &
SDESKPID=$! #this doesn't work, maybe because of eval? - so end is using killall

trap end 2 3 9 15
while :; do
[ "$NET" ] && net
#add more here when complete
sleep .2
done