dots/.config/awesome/ui/statusbar/panel/widgets/brightness_bar.lua

47 lines
1.3 KiB
Lua

local qmath = require "quarrel.math"
local qvars = require "quarrel.vars"
local wibox = require "wibox"
local brightness_bar = wibox.widget {
widget = wibox.container.place,
forced_height = qvars.char_height,
{
{
widget = wibox.widget.textbox,
text = "0%",
id = "text"
},
nil,
{
widget = wibox.container.margin,
margins = {
left = qvars.padding
},
{
widget = wibox.container.place,
{
widget = wibox.widget.progressbar,
max_value = 100,
value = 0,
forced_height = qvars.char_height / 4,
shape = qvars.shape,
background_color = qvars.colors.black,
color = qvars.colors.fg,
}
},
id = "bar"
},
layout = wibox.layout.align.horizontal,
}
}
awesome.connect_signal("services::brightness", function(brightness)
brightness = math.floor(qmath.translate_range(brightness, 0, 255, 0, 100))
brightness_bar.widget.bar.widget.widget.value = brightness
brightness_bar.widget.text.text = brightness .. "%"
end)
return brightness_bar