45 lines
1 KiB
Lua
45 lines
1 KiB
Lua
local icons = require("icons")
|
|
|
|
local battery = sbar.add("item", {
|
|
position = "right",
|
|
icon = {
|
|
font = {
|
|
style = "Regular",
|
|
size = 19.0,
|
|
}
|
|
},
|
|
label = { drawing = false },
|
|
update_freq = 120,
|
|
})
|
|
|
|
local function battery_update()
|
|
sbar.exec("pmset -g batt", function(batt_info)
|
|
local icon = "!"
|
|
|
|
if (string.find(batt_info, 'AC Power')) then
|
|
icon = icons.battery.charging
|
|
else
|
|
local found, _, charge = batt_info:find("(%d+)%%")
|
|
if found then
|
|
charge = tonumber(charge)
|
|
end
|
|
|
|
if found and charge > 80 then
|
|
icon = icons.battery._100
|
|
elseif found and charge > 60 then
|
|
icon = icons.battery._75
|
|
elseif found and charge > 40 then
|
|
icon = icons.battery._50
|
|
elseif found and charge > 20 then
|
|
icon = icons.battery._25
|
|
else
|
|
icon = icons.battery._0
|
|
end
|
|
end
|
|
|
|
battery:set({ icon = icon })
|
|
end)
|
|
end
|
|
|
|
|
|
battery:subscribe({"routine", "power_source_change", "system_woke"}, battery_update)
|