feat: transparent support for ddcutil on desktop#5201
feat: transparent support for ddcutil on desktop#5201jamerrq wants to merge 1 commit intobasecamp:devfrom
Conversation
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Hey @jamerrq — I took a different cut at the same problem in #5282, wanted to flag it here so you and the maintainers see both approaches side by side. Main differences from yours:
Not trying to replace yours — just want to make sure basecamp sees both takes. Happy to merge ideas in either direction. |
|
Hi @felipe3dfx. Thanks for the heads up and for linking your PR. Your approach is definitely much more robust. I really appreciate the debounce pattern to protect the monitor's NVRAM—that’s an excellent and critical catch that I hadn't considered. Also, dynamic detection of i2c buses and automatically handling the migration/installation hooks makes it a much better fit for Omarchy's "it just works" philosophy. I'm more than happy to close this PR in favor of #5282 so the maintainers can focus entirely on yours, as it clearly handles all the edge cases properly. |
Description
This PR updates the
omarchy-brightness-displayscript to provide transparent, default support for desktop monitors usingddcutil.Currently, default
XF86MonBrightnessDown/XF86MonBrightnessUpkeybindings fail on desktops due to the lack of internal backlights exposed through/sys/class/backlight.By adding a simple
has_backlightheuristic, the script now automatically falls back toddcutilfor executing brightness up/down steps.Details
+5%/5%-step format manually./tmp/ddcutil_brightness_omarchyand firesomarchy-swayosd-brightnessimmediately so that visual OSD feedback is instantaneous.ddcutil setvcp 10asynchronously in the background.This brings an out-of-the-box solution for both laptops (native
brightnessctl) and desktop monitors (ddcutil), while still allowing users to view the cool SwayOSD notifications.