diff options
author | dakkar <dakkar@thenautilus.net> | 2015-08-30 12:09:18 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2015-08-30 12:09:18 +0100 |
commit | 7f327871e242941bbe913b48b7362228cf3e1ed6 (patch) | |
tree | 421d13b185f5666232346e14d537a9f55260f445 | |
parent | bump perl version (diff) | |
download | battery-7f327871e242941bbe913b48b7362228cf3e1ed6.tar.gz battery-7f327871e242941bbe913b48b7362228cf3e1ed6.tar.bz2 battery-7f327871e242941bbe913b48b7362228cf3e1ed6.zip |
handle more battery reporting styles
-rwxr-xr-x | battery | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -51,19 +51,23 @@ sub _format_time { sub update { my $bs=get_battery_stats; - my $e=$bs->{energy_now}/$bs->{energy_full}; + my $now = $bs->{energy_now} // $bs->{charge_now}; + my $full = $bs->{energy_ful} // $bs->{charge_full}; + my $deriv = $bs->{power_now} // $bs->{current_now}; + + my $e=$now/$full; my $txt=''; my $charging = lc($bs->{status}) eq 'charging'; - my $full = lc($bs->{status}) eq 'full'; + my $is_full = lc($bs->{status}) eq 'full'; if ($charging) { $txt = "\x{1f50c} "; } - elsif (!$full) { + elsif (!$is_full) { $txt = "\x{1f50b} "; } - if ($bs->{power_now} && !$charging) { - my $t=$bs->{energy_now}/$bs->{power_now}; - my $tot=$bs->{energy_full}/$bs->{power_now}; + if ($deriv && !$charging) { + my $t=$now/$deriv; + my $tot=$full/$deriv; $txt .= sprintf '%s/%s ', _format_time($t), |