From: Simon Désaulniers Date: Wed, 11 Jan 2017 05:15:23 +0000 (-0500) Subject: bat: find battery status when multiple batteries X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/ae086776bf94a932719899ec828e002f67ebd098?ds=sidebyside;hp=617675d6c3a7b79d650bfcd52a3c13e8dcdfa459 bat: find battery status when multiple batteries Battery status was previously assumed to the first battery's status. This is wrong as it doesn't support the case where the first battery is full and the second is discharging, therefor showing battery percentage to 100% when the actual battery percentage is lower. --- diff --git a/widgets/bat.lua b/widgets/bat.lua index 8e483f7..38104b5 100644 --- a/widgets/bat.lua +++ b/widgets/bat.lua @@ -108,7 +108,16 @@ local function worker(args) end end + -- When one of the battery is charging, others' status are either + -- "Full", "Unknown" or "Charging". When the laptop is not plugged in, + -- one or more of the batteries may be full, but only one battery + -- discharging suffices to set global status to "Discharging". bat_now.status = bat_now.n_status[1] + for _,status in ipairs(bat_now.n_status) do + if status == "Discharging" or status == "Charging" then + bat_now.status = status + end + end bat_now.ac_status = tonumber(first_line(string.format("%s%s/online", pspath, ac))) or "N/A" if bat_now.status ~= "N/A" then