Fix time to full/empty when there are only minutes left

This commit is contained in:
David Heinemeier Hansson
2026-03-10 22:00:56 +01:00
parent 86bac09343
commit 2acc2ebfea
+13 -4
View File
@@ -5,12 +5,21 @@
battery_info=$(upower -i $(upower -e | grep BAT))
echo "$battery_info" | awk '/time to (empty|full)/ {
hours = int($4)
minutes = int(($4 - hours) * 60)
if (minutes > 0) {
printf "%dh %dm", hours, minutes
value = $4
unit = $5
if (unit == "minutes") {
hours = int(value / 60)
minutes = int(value % 60)
} else {
hours = int(value)
minutes = int((value - hours) * 60)
}
if (hours > 0 && minutes > 0) {
printf "%dh %dm", hours, minutes
} else if (hours > 0) {
printf "%dh", hours
} else {
printf "%dm", minutes
}
exit
}'