tazpanel rev 219

hardware.cgi: add battery support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Jan 05 16:32:48 2012 +0100 (2012-01-05)
parents 775fbfd01b04
children ddae2c7ba2fb
files hardware.cgi styles/default/images/battery.png
line diff
     1.1 --- a/hardware.cgi	Fri Dec 30 17:43:25 2011 +0100
     1.2 +++ b/hardware.cgi	Thu Jan 05 16:32:48 2012 +0100
     1.3 @@ -103,7 +103,51 @@
     1.4  <div id="wrapper">
     1.5  	<h2>`gettext "Drivers &amp; Devices"`</h2>
     1.6  	<p>`gettext "Manage your computer hardware`</p>
     1.7 +</div>
     1.8 +<div>
     1.9 +	<a class="button" href="$SCRIPT_NAME?modules">
    1.10 +		<img src="$IMAGES/tux.png" />Kernel modules</a>
    1.11 +</div>
    1.12 +
    1.13 +<div id="wrapper">
    1.14  EOT
    1.15 +		if [ -n "$(ls /proc/acpi/battery/*/info 2> /dev/null)" ]; then
    1.16 +			echo "<table>"
    1.17 +			for dev in /proc/acpi/battery/*; do
    1.18 +				grep ^present $dev/info | grep -q yes || continue
    1.19 +				design=$(sed '/design capacity:/!d;s/[^0-9]*\([0-9]*\).*/\1/' < $dev/info)
    1.20 +				remain=$(sed '/remaining capacity/!d;s/[^0-9]*\([0-9]*\).*/\1/' < $dev/state)
    1.21 +				rate=$(sed '/present rate/!d;s/[^0-9]*\([0-9]*\).*/\1/' < $dev/state)
    1.22 +				full=$(sed '/last full capacity/!d;s/[^0-9]*\([0-9]*\).*/\1/' < $dev/info)
    1.23 +				remtime=$(( ($remain * 60) / $rate ))
    1.24 +				rempct=$(( ($remain * 100) / $full ))
    1.25 +				cat << EOT
    1.26 +<tr>
    1.27 +	<td><img src="$IMAGES/battery.png" />
    1.28 +		Battery $(grep "^battery type" $dev/info | sed 's/.*: *//')
    1.29 +		$(grep "^design capacity:" $dev/info | sed 's/.*: *//') </td>
    1.30 +	<td>health  $(( (100*$full)/$design))%</td>
    1.31 +EOT
    1.32 +				if grep -qis discharging $dev/state; then
    1.33 +					cat <<EOT
    1.34 +	<td class="pct"><div class="pct"
    1.35 +		style="width: $rempct%;">charge&nbsp;$rempct%&nbsp;-&nbsp;$(printf "%d:%02d" $(($remtime/60)) $(($remtime%60)))</div></td>
    1.36 +EOT
    1.37 +				else
    1.38 +					cat <<EOT
    1.39 +	<td class="pct"><div class="pct"
    1.40 +		style="width: $rempct%;">recharging&nbsp;$rempct%</div></td>
    1.41 +EOT
    1.42 +				fi
    1.43 +			done
    1.44 +			echo "</table>"
    1.45 +		fi
    1.46 +		if [ -n "$(ls /proc/acpi/thermal_zone/*/temperature 2> /dev/null)" ]; then
    1.47 +			echo "Temperature: "
    1.48 +			for temp in /proc/acpi/thermal_zone/*/temperature; do
    1.49 +				sed 's/.*://' < $temp
    1.50 +			done
    1.51 +		fi
    1.52  		if [ -n "$(ls /proc/acpi/video/*/LCD/brightness 2> /dev/null)" ]; then
    1.53  			cat <<EOT
    1.54  <form method="get" action="$SCRIPT_NAME">
    1.55 @@ -139,10 +183,6 @@
    1.56  		fi
    1.57  		cat << EOT
    1.58  </div>
    1.59 -<div>
    1.60 -	<a class="button" href="$SCRIPT_NAME?modules">
    1.61 -		<img src="$IMAGES/tux.png" />Kernel modules</a>
    1.62 -</div>
    1.63  
    1.64  <h3>$(gettext "Filesystem usage statistics")</h3>
    1.65  <pre>
    1.66 @@ -170,7 +210,7 @@
    1.67  		table_end
    1.68  		echo "<h3>$(gettext "System memory")</h3>"
    1.69  		echo '<pre>'
    1.70 -		( free -m 2> /dev/null || free ) | sed \
    1.71 +		free -m | sed \
    1.72  			-e s"#total.*\([^']\)#<span class='top'>\0</span>#"g \
    1.73  			-e s"#^[A-Z-].*:\([^']\)#<span class='sh-comment'>\0</span>#"g
    1.74  		echo '</pre>'
     2.1 Binary file styles/default/images/battery.png has changed