aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/services/backlight.lua
blob: 02ed808ccd0f165e0f1dc118cd183af8c002694f (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
33
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