i3 / i3status

Generates status bar to use with i3bar, dzen2 or xmobar
BSD 3-Clause "New" or "Revised" License
602 stars 254 forks source link

Fix handling of POWER_SUPPLY_TIME_TO_* properties #504

Open thasti opened 1 year ago

thasti commented 1 year ago

According to the linux kernel documentation, the POWER_SUPPLY_TIMETO* properties provided via sysfs have to be interpreted as seconds, not minutes:

https://github.com/torvalds/linux/blob/master/include/linux/power_supply.h#L22

The driver that was originally used for developing support in i3status (https://github.com/i3/i3status/pull/378) is broken, since it incorrectly returns the time-to-empty in minutes instead of seconds.

Further, POWER_SUPPLY_TIME_TO_EMPTY_NOW is present even when charging, but reports a value if "0" then. This confuses the logic and ended up always showing the time-to-full as 0. The proposed patch fixes the unit interpretation, as well as added code to parse both time-to-empty and time-to-full, disregarding zero-values.