From 3a09fcf22fa7435fe4a2378722509fde2b85f305 Mon Sep 17 00:00:00 2001 From: Sergei Fedosov Date: Sat, 20 Feb 2021 18:36:09 +0300 Subject: [PATCH] i3status-anyevent: upower does not provide "time to" value if battery fully chrged --- i3status-anyevent | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/i3status-anyevent b/i3status-anyevent index 39f97b8..b0cb83f 100644 --- a/i3status-anyevent +++ b/i3status-anyevent @@ -353,23 +353,28 @@ sub add_events () { } } - unless (defined $time_to && defined $percentage && defined $state) { + unless (defined $percentage && defined $state) { return; } - chomp $time_to; + if (defined $time_to) { + chomp $time_to; - if (substr ($time_to, -7) eq 'minutes') { - $minutes = substr $time_to, 0, -8; - $minutes =~ tr/\,/./; - $minutes = int $minutes; - } elsif (substr ($time_to, -5) eq 'hours') { - $hours = substr $time_to, 0, -6; - $hours =~ tr/\,/./; - $minutes = int (60 * ($hours - int ($hours))); + if (substr ($time_to, -7) eq 'minutes') { + $minutes = substr $time_to, 0, -8; + $minutes =~ tr/\,/./; + $minutes = int $minutes; + } elsif (substr ($time_to, -5) eq 'hours') { + $hours = substr $time_to, 0, -6; + $hours =~ tr/\,/./; + $minutes = int (60 * ($hours - int ($hours))); + } + + $time_to = sprintf '%02d:%02d', $hours, $minutes; + } else { + $time_to = "00:00"; } - $time_to = sprintf '%02d:%02d', $hours, $minutes; $charge = sprintf '⚡ %s %s %s', $percentage, $state, $time_to; } );