add brightness service and slider

This commit is contained in:
nat
2025-03-03 19:04:14 -08:00
committed by nat
parent dd8fc68c62
commit 676f69c416
5 changed files with 101 additions and 4 deletions

View File

@ -6,6 +6,7 @@
(import .clock [clock])
(import .battery [battery-dial])
(import .volume [volume])
(import .brightness [brightness])
(setv bar (Widget.Window
:namespace "bar"
@ -26,7 +27,8 @@
:class-name "sliders"
:vertical True
:children [
volume])
volume
brightness])
battery-dial
((astalify Gtk.Separator))
clock]))))

22
widgets/bar/brightness.hy Normal file
View File

@ -0,0 +1,22 @@
(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)))))])))