Looks like SwayOSD doesn’t work with external monitors using DDC/CI
I'm a member of the "video" group but have an external monitor. SwayOSD doesn't change the brightness of my monitor.
The utility "ddcutil" does work on my monitor.
Here are the issues I saw, FWIW.
Changing screen brightness on KDE 6.1 (without using SwayOSD) works, even though /sys/class/backlight/ is empty. SwayOSD doesn't work for the purpose, though. Looks like KDE 6.1 can use DDC/CI as a backend.
When brightnessctl is installed, the OSD shows up; it just doesn't show any change in brightness. Without brightnessctl, there's no OSD for brightness at all. Note that brightnessctl requires the out-of-tree kernel driver ddcci-driver-linux to work with external monitors.
BTW, I had been using Labwc with the following keybinding config:
<keybind key="XF86AudioMute">
<action name="Execute"
command="swayosd-client --output-volume mute-toggle"/>
</keybind>
<keybind key="XF86AudioRaiseVolume">
<action name="Execute" command="swayosd-client --output-volume raise"/>
</keybind>
<keybind key="XF86AudioLowerVolume">
<action name="Execute" command="swayosd-client --output-volume lower"/>
</keybind>
<keybind key="XF86MonBrightnessUp">
<action name="Execute" command="swayosd-client --brightness raise"/>
</keybind>
<keybind key="XF86MonBrightnessDown">
<action name="Execute" command="swayosd-client --brightness lower"/>
</keybind>
:wave: I think you can try passing the device manually to swayosd-client, I was able to change brightness for a single monitor, but passing the device lets me change it for my other monitor as well. You can check the device ID using brightnessctl --list --class backlight and then passing it to swayosd-client as swayosd-client --device="<DEVICE_ID>".
I use ddcutil to control my external monitor brightness. would be great if I can use that backend somehow...
Or I can handle the brightness just need brightness OSD to popup where I can specify the brightness level. (can we have a dummy volume and brightness OSD which can show progress bar based on values used in the command?)
swayosd-client --brightness fake 20
swayosd-client --output-volume fake 50
swayosd-client --output-volume fake 0
I have the same issue with the Apple Studio Display, I have a script to handle the monitor depending on which one is in focus, would be nice to make that show the OSD.