aboutsummaryrefslogtreecommitdiff
path: root/linux/home/.config/ags/widget/quicksettings/widgets/Brightness.ts
blob: a3ce56579f863a584548e92abd5cf0cf294adcd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import icons from "lib/icons"
import brightness from "service/brightness"

const BrightnessSlider = () => Widget.Slider({
    draw_value: false,
    hexpand: true,
    value: brightness.bind("screen"),
    on_change: ({ value }) => brightness.screen = value,
})

export const Brightness = () => Widget.Box({
    class_name: "brightness",
    children: [
        Widget.Button({
            vpack: "center",
            child: Widget.Icon(icons.brightness.indicator),
            on_clicked: () => brightness.screen = 0,
            tooltip_text: brightness.bind("screen").as(v =>
                `Screen Brightness: ${Math.floor(v * 100)}%`),
        }),
        BrightnessSlider(),
    ],
})