diff --git a/simple/widgets/system_resources.lua b/simple/widgets/system_resources.lua index f338bcc..03c2eeb 100644 --- a/simple/widgets/system_resources.lua +++ b/simple/widgets/system_resources.lua @@ -34,6 +34,15 @@ local bars = wibox.widget { layout = wibox.layout.flex.horizontal } +function fileExists(name) + local f = io.open(name, "r") + if f ~= nil then + io.close(f) + return true + end + return false +end + function readCommand(command) local handle = io.popen(command, "r") local r = handle:read("*a") @@ -151,12 +160,12 @@ function getBatteryCapacity() local capacity = 0 for b in getBatteries() do if b:sub(1,3) ~= 'hid' and readCommand("cat /sys/class/power_supply/" .. b .. "/type"):match("Battery") then - if type(readCommand("cat /sys/class/power_supply/" .. b .. "/energy_now")) == "string" then - charge = charge + readCommand("cat /sys/class/power_supply/" .. b .. "/charge_now") - capacity = capacity + readCommand("cat /sys/class/power_supply/" .. b .. "/charge_full") - else + if fileExists("/sys/class/power_supply/" .. b .. "/energy_now") then charge = charge + readCommand("cat /sys/class/power_supply/" .. b .. "/energy_now") capacity = capacity + readCommand("cat /sys/class/power_supply/" .. b .. "/energy_full") + else + charge = charge + readCommand("cat /sys/class/power_supply/" .. b .. "/charge_now") + capacity = capacity + readCommand("cat /sys/class/power_supply/" .. b .. "/charge_full") end end end