summaryrefslogtreecommitdiff
path: root/battery
diff options
context:
space:
mode:
Diffstat (limited to 'battery')
-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),