aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/services/backlight.lua
blob: bb9bedc74a095ba5af323843b0bf033c87113a87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
local backlight = require("lib.lit").backlight.new("amdgpu_bl1", 5)
local gobject = require "gears.object"
local phosphor = require "assets.phosphor"
local qcolor = require "quarrel.color"
local qmath = require "quarrel.math"

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"], qcolor.palette.fg())
    backlight_wrapper:emit_signal("value", brightness)
end)

return backlight_wrapper