23 lines
743 B
Hy
23 lines
743 B
Hy
(import astal *)
|
|
(import astal.gtk3 *)
|
|
(import services.brightness [Brightness])
|
|
(import math [floor])
|
|
|
|
(import gi.repository [AstalWp])
|
|
|
|
(let [
|
|
backlight (Brightness "amdgpu_bl1")]
|
|
(setv brightness (Widget.Box
|
|
:class-name "brightness-slider"
|
|
:children [
|
|
(Widget.Button
|
|
:child (Widget.Icon :icon (bind backlight "brightness" (fn [brightness]
|
|
f"display-brightness-{(get ["off" "low" "medium" "high" "high"] (floor (/ (* brightness 100) 25)))}-symbolic"))))
|
|
(Widget.Slider
|
|
:class-name "brightness-slider"
|
|
:hexpand True
|
|
:draw-value False
|
|
:value (bind backlight "brightness")
|
|
:on-dragged (fn [self]
|
|
(. backlight (set-brightness (.get-value self)))))])))
|