summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2015-08-30 12:09:18 +0100
committerdakkar <dakkar@thenautilus.net>2015-08-30 12:09:18 +0100
commit7f327871e242941bbe913b48b7362228cf3e1ed6 (patch)
tree421d13b185f5666232346e14d537a9f55260f445
parentbump perl version (diff)
downloadbattery-7f327871e242941bbe913b48b7362228cf3e1ed6.tar.gz
battery-7f327871e242941bbe913b48b7362228cf3e1ed6.tar.bz2
battery-7f327871e242941bbe913b48b7362228cf3e1ed6.zip
handle more battery reporting styles
-rwxr-xr-xbattery16
1 files changed, 10 insertions, 6 deletions
diff --git a/battery b/battery
index 144cc78..9b09587 100755
--- a/battery
+++ b/battery
@@ -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),