diff options
Diffstat (limited to '.config/awesome/services/backlight.lua')
-rw-r--r-- | .config/awesome/services/backlight.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/.config/awesome/services/backlight.lua b/.config/awesome/services/backlight.lua new file mode 100644 index 0000000..02ed808 --- /dev/null +++ b/.config/awesome/services/backlight.lua @@ -0,0 +1,34 @@ +local backlight = require("lib.lit").backlight.new("amdgpu_bl1", 5) +local gobject = require "gears.object" +local gtimer = require "gears.timer" +local naughty = require "naughty" +local phosphor = require "assets.phosphor" +local qmath = require "quarrel.math" +local qvars = require "quarrel.vars" + +local backlight_wrapper = gobject { + class = { + set = function(level, handler) + backlight.set(level, handler) + end, + get = function() + return backlight.get() + end, + }, +} + +backlight:connect_signal("brightness", function(_, brightness) + local icon_data = qmath.step_value(brightness, { + { 0, "cloud_moon" }, + { 51, "moon" }, + { 102, "sun_horizon" }, + { 153, "sun_dim" }, + { 204, "sun" }, + { 255 }, + }) + + backlight_wrapper:emit_signal("icon", phosphor[icon_data .. "_fill"], qvars.colors.fg) + backlight_wrapper:emit_signal("value", brightness) +end) + +return backlight_wrapper |