Fixed battery widget opening missing file #1

Merged
ashpie merged 2 commits from lucastarche/simple-awesome:develop into develop 2021-07-04 16:25:22 +02:00
1 changed files with 16 additions and 2 deletions

View File

@ -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,8 +160,13 @@ 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
charge = charge + readCommand("cat /sys/class/power_supply/" .. b .. "/energy_now")
capacity = capacity + readCommand("cat /sys/class/power_supply/" .. b .. "/energy_full")
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
return charge / capacity