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)