Another step towards #19. This depends on other MRs getting merged first and includes those commits as dependencies. Only the top commit needs to be reviewed in this MR. As a reviewer, check out the dependencies first:
After detection, the rather minimal interface provides a list ofdisplays supporting brightness operations, incl. change signal.ScreenBrightnessController
gets adapted to make use of it.
BacklightDetector
is split out from BacklightBrightness
to supportthis new interface. The existing DDCutilBrightness
gets renamed toDDCutilDetector
to keep some semblance of naming consistency.
In theory, this would switch your brightness controls betweeninternal laptop display and DDC-supporting monitors when one ofthem disappears. In practice, behavior is still unchanged becauselaptop displays are first in priority order and never disappearif they're present at all.