# HG changeset patch # User Pascal Bellard # Date 1325777568 -3600 # Node ID 0f412d6d710e3b4f9511dc80f93c5b87d66af9c2 # Parent 775fbfd01b042fa600aa7821333fce4cdca90f4b hardware.cgi: add battery support diff -r 775fbfd01b04 -r 0f412d6d710e hardware.cgi --- a/hardware.cgi Fri Dec 30 17:43:25 2011 +0100 +++ b/hardware.cgi Thu Jan 05 16:32:48 2012 +0100 @@ -103,7 +103,51 @@

`gettext "Drivers & Devices"`

`gettext "Manage your computer hardware`

+
+
+ + Kernel modules +
+ +
EOT + if [ -n "$(ls /proc/acpi/battery/*/info 2> /dev/null)" ]; then + echo "" + for dev in /proc/acpi/battery/*; do + grep ^present $dev/info | grep -q yes || continue + design=$(sed '/design capacity:/!d;s/[^0-9]*\([0-9]*\).*/\1/' < $dev/info) + remain=$(sed '/remaining capacity/!d;s/[^0-9]*\([0-9]*\).*/\1/' < $dev/state) + rate=$(sed '/present rate/!d;s/[^0-9]*\([0-9]*\).*/\1/' < $dev/state) + full=$(sed '/last full capacity/!d;s/[^0-9]*\([0-9]*\).*/\1/' < $dev/info) + remtime=$(( ($remain * 60) / $rate )) + rempct=$(( ($remain * 100) / $full )) + cat << EOT + + + +EOT + if grep -qis discharging $dev/state; then + cat <
charge $rempct% - $(printf "%d:%02d" $(($remtime/60)) $(($remtime%60)))
+EOT + else + cat <
recharging $rempct%
+EOT + fi + done + echo "
+ Battery $(grep "^battery type" $dev/info | sed 's/.*: *//') + $(grep "^design capacity:" $dev/info | sed 's/.*: *//') health $(( (100*$full)/$design))%
" + fi + if [ -n "$(ls /proc/acpi/thermal_zone/*/temperature 2> /dev/null)" ]; then + echo "Temperature: " + for temp in /proc/acpi/thermal_zone/*/temperature; do + sed 's/.*://' < $temp + done + fi if [ -n "$(ls /proc/acpi/video/*/LCD/brightness 2> /dev/null)" ]; then cat < @@ -139,10 +183,6 @@ fi cat << EOT
-
- - Kernel modules -

$(gettext "Filesystem usage statistics")

@@ -170,7 +210,7 @@
 		table_end
 		echo "

$(gettext "System memory")

" echo '
'
-		( free -m 2> /dev/null || free ) | sed \
+		free -m | sed \
 			-e s"#total.*\([^']\)#\0#"g \
 			-e s"#^[A-Z-].*:\([^']\)#\0#"g
 		echo '
' diff -r 775fbfd01b04 -r 0f412d6d710e styles/default/images/battery.png Binary file styles/default/images/battery.png has changed