X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/6ebe2d9e72175eee241f6e35e6d59bda770242e7..bd1c6e20bbac7be806d4f5e793960c1bc6846797:/widgets/bat.lua?ds=sidebyside diff --git a/widgets/bat.lua b/widgets/bat.lua index 9740bbe..a6a8b4f 100644 --- a/widgets/bat.lua +++ b/widgets/bat.lua @@ -63,33 +63,26 @@ local function worker(args) if present == "1" then - local rate = first_line(bstr .. "/power_now") + local ratep = tonumber(first_line(bstr .. "/power_now")) + local ratec = tonumber(first_line(bstr .. "/current_now")) + local ratev = tonumber(first_line(bstr .. "/voltage_now")) - local rate_alt = first_line(bstr .. "/current_now") + local rem = tonumber(first_line(bstr .. "/energy_now") or + first_line(bstr .. "/charge_now")) - local ratev = first_line(bstr .. "/voltage_now") - - local rem = first_line(bstr .. "/energy_now") or - first_line(bstr .. "/charge_now") - - local tot = first_line(bstr .. "/energy_full") or - first_line(bstr .. "/charge_full") + local tot = tonumber(first_line(bstr .. "/energy_full") or + first_line(bstr .. "/charge_full")) bat_now.status = first_line(bstr .. "/status") or "N/A" - bat_now.ac = first_line(string.format("/sys/class/power_supply/%s/online", ac)) or "N/A" - - rate = tonumber(rate) - ratev = tonumber(ratev) - rem = tonumber(rem) - tot = tonumber(tot) + bat_now.ac_status = first_line(string.format("/sys/class/power_supply/%s/online", ac)) or "N/A" local time_rat = 0 if bat_now.status == "Charging" then - time_rat = (tot - rem) / rate + time_rat = (tot - rem) / (ratep or ratec) elseif bat_now.status == "Discharging" then - time_rat = rem / rate + time_rat = rem / (ratep or ratec) end local hrs = math.floor(time_rat) @@ -110,14 +103,11 @@ local function worker(args) bat_now.perc = "0" end - if rate and ratev then - bat_now.watt = string.format("%.2fW", (rate * ratev) / 1e12) - elseif rate_alt then - bat_now.watt = string.format("%.2fW", rate_alt) + if ratep then + bat_now.watt = string.format("%.2fW", ratep) else - bat_now.watt = "N/A" + bat_now.watt = string.format("%.2fW", (ratev * ratec) / 1e12) end - end widget = bat.widget