#!/bin/bash

ACPIFILE="/dev/shm/acpitool.out"
WIFIFILE="/dev/shm/iwconfig.out"
URGENTFILE="/dev/shm/urgent"
let N=`date +%s`%2

acpitool > $ACPIFILE
iwconfig eth1 > $WIFIFILE

echo 0 > $URGENTFILE

function showmail()
	{
	MAILS=`cat $HOME/.new_mails`

	if [[ $N = 0 ]] && (( $MAILS > 0 ))
	then
		echo "#"$MAILS"#"
	else
		echo " "$MAILS" "
	fi
	}

function showtemp()
	{
	grep "Thermal zone" $ACPIFILE | awk '{print $6 "°"}'
	}

function showfreq()
	{
	sleep 0.05s
	cpufreq-info -fm
	}

function showbattery()
	{
	BAT=`grep "Battery" $ACPIFILE | awk '{print $5}'`
	PC=`echo $BAT | head -c 3 | tr -d '.'`

	if (( $PC < 25 ))
	then
		if [[ $N = 0 ]]
		then
			BAT=`echo $BAT | tr '0-9' '#'`
		fi

		if (( $PC < 100 ))
		then
			echo 1 > $URGENTFILE
		fi
	fi

	echo -n $BAT

	if [[ `grep "on-line" $ACPIFILE` ]]
	then
		echo "+"
	else
		echo "-"
	fi
	}

function showwifi()
	{
	ESSID=`grep ESSID $WIFIFILE | sed 's/.*ESSID:"\(.*\)".*/\1/'`
	ASSOC=`grep "IEEE 802.11" $WIFIFILE`
	echo -n $ESSID
	if [[ `grep "IEEE 802.11" $WIFIFILE` ]]
	then
		if [[ $N = 0 ]]
		then
			echo " ⊕"
		else
			echo " ⊗"
		fi
	else
		echo " o"
	fi
	}

function showdate()
	{
	date '+%a %b %d %H:%M:%S'
	}

function ligne()
	{
	echo -n `showwifi`" |  CPU : "`showtemp`/`showfreq`"  |  Battery : "`showbattery`"  |  "`showdate`"  | "`showmail`" "
	}

if (( $URGENT+$N == 2 ))
then
	ligne | tr '  ' '#'
else
	ligne
fi
