79 lines
2.2 KiB
Lua
79 lines
2.2 KiB
Lua
local awful = require "awful"
|
|
local xresources = require "beautiful.xresources"
|
|
local dpi = xresources.apply_dpi
|
|
local vars = require "themes.prismite.vars"
|
|
local wibox = require "wibox"
|
|
|
|
local battery_inner = awful.widget.watch("cat /sys/class/power_supply/BAT0/capacity", 1, function(widget, stdout)
|
|
local icon = ""
|
|
local color = vars.colors.red
|
|
|
|
if io.popen("cat /sys/class/power_supply/BAT0/status"):read("*a"):sub(0, -2) == "Charging" then
|
|
icon = ""
|
|
color = vars.colors.green
|
|
widget:set_markup("<span color=\"" .. color .. "\">" .. icon .. "</span>")
|
|
return
|
|
end
|
|
|
|
local percent = tonumber(stdout)
|
|
|
|
if percent <= 5 then
|
|
icon = ""
|
|
color = vars.colors.red
|
|
elseif percent <= 10 then
|
|
icon = ""
|
|
color = vars.colors.red
|
|
elseif percent <= 20 then
|
|
icon = ""
|
|
color = vars.colors.red
|
|
elseif percent <= 30 then
|
|
icon = ""
|
|
color = vars.colors.yellow
|
|
elseif percent <= 40 then
|
|
icon = ""
|
|
color = vars.colors.yellow
|
|
elseif percent <= 50 then
|
|
icon = ""
|
|
color = vars.colors.yellow
|
|
elseif percent <= 60 then
|
|
icon = ""
|
|
color = vars.colors.yellow
|
|
elseif percent <= 70 then
|
|
icon = ""
|
|
color = vars.colors.yellow
|
|
elseif percent <= 80 then
|
|
icon = ""
|
|
color = vars.colors.green
|
|
elseif percent <= 90 then
|
|
icon = ""
|
|
color = vars.colors.green
|
|
elseif percent <= 100 then
|
|
icon = ""
|
|
color = vars.colors.green
|
|
end
|
|
|
|
widget:set_markup("<span color=\"" .. color .. "\">" .. icon .. "</span>")
|
|
end)
|
|
|
|
local battery = wibox.widget {
|
|
widget = wibox.container.place,
|
|
battery_inner
|
|
}
|
|
|
|
awful.tooltip {
|
|
objects = { battery },
|
|
timer_function = function()
|
|
return io.popen("cat /sys/class/power_supply/BAT0/capacity"):read("*a"):sub(0, -2) .. "%"
|
|
end,
|
|
bg = vars.colors.bg,
|
|
fg = vars.colors.fg,
|
|
border_color = vars.colors.bright.black,
|
|
border_width = vars.border_width,
|
|
font = vars.font,
|
|
shape = vars.shape,
|
|
margin_leftright = dpi(6),
|
|
margin_topbottom = dpi(6)
|
|
}
|
|
|
|
return battery
|