--- trunk/dwm-status.pl 2008/07/22 01:16:52 81 +++ trunk/dwm-status.pl 2009/02/03 18:41:06 105 @@ -28,7 +28,7 @@ while(<$fh>) { chomp; my ( $key, $value ) = split(/:\s+/, $_, 2); - $value =~ s/ m[VW]h*$//; + $value =~ s/ m[AVW]h*$//; $h->{$key} = $value; } warn "$f ",dump( $h ) if ( $debug ); @@ -100,7 +100,15 @@ my $s = strftime("%Y-%m-%d %H:%M:%S", localtime()); if ( $i % $acpi_every == 0 ) { - if ( $proc_acpi_battery ) { + my $sysfs_path = glob "$sys_fs/*_full"; + if ( $sysfs_path ) { + + my $full = read_file( $sysfs_path ); + $sysfs_path =~ s/_full/_now/; + my $now = read_file( $sysfs_path ); + $bat = sprintf("%2d%% | ", $now * 100 / $full ); + + } elsif ( $proc_acpi_battery ) { my $state = proc2hash( "$proc_acpi_battery/state" ); @@ -124,10 +132,6 @@ $state->{'present rate'} / 1000 ); } - } elsif ( -e $sys_fs ) { - my $full = read_file( "$sys_fs/charge_full" ); - my $now = read_file( "$sys_fs/charge_now" ); - $bat = sprintf("%2d%% | ", $now * 100 / $full ); } } else { $bat =~ s/!(\|\s)$/ $1/;