nix/config/old_sketchybar/items/battery.lua

42 lines
1,008 B
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)