[Help] Scale applies change for every increment
Author: haileyheyCreated Jul 18, 2026Updated Jul 18, 2026
When I drag a scale to change my brightness of my monitors (via ddcutil), it spawns tens of background processes while dragging the slider, instead of only applying brightness once. This has caused numerous kernel panics and I have no clue how to fix it.
Use this sample config.
(deflisten display_data
:initial `{"d1":"50","d2":"50","d3":"50"}`
`~/.config/eww/scripts/display_listener`
)
(defwidget brightness []
(box
:class "displaywin"
:orientation "h"
:space-evenly "false"
:vexpand "false"
:hexpand "false"
(box
:orientation "v"
:spacing 8
:space-evenly "false"
:vexpand "false"
:hexpand "false"
(box
:class "bar_1"
:halign "center"
:vexpand "false"
:hexpand "false"
:space-evenly "false"
(image
:class "brightness_icon"
:icon "display-brightness-symbolic"
:image-width 16
:image-height 16
)
(scale
:min 0
:active "true"
:max 100
:value {display_data.d3}
:timeout "1000ms"
:onchange "sudo ddcutil -b 7 setvcp 10 {}"
)
)
)
)
)
(defwindow brightness
:stacking "fg"
:focusable "false"
:monitor 0
:geometry (geometry
:x 16
:y 16
:anchor "top right"
)
(brightness)
)Expected behaviour: Drag the scale, and when mouse is lifted, it applies the change only then.
https://github.com/user-attachments/assets/b1598740-d036-43b5-a494-69511ed2d4ca
Wayland compositor: Hyprland
Source: elkowar/eww