I think there is definitely a case to be made in favor of keeping ScreenBrightnessController:
- Backlight and ddcutil brightness will eventually get moved into KWin, and we'll access it from PowerDevil through IPC instead of direct function calls.
ScreenBrightnessControllercan own that IPC so Core doesn't have to do it directly. - Core already handles a lot of stuff, and bringing together two disparate objects to provide a single interface for all displays with brightness control is a helpful abstraction. Which the Brightness applet already makes use of, too.
That said, I do think it makes sense to reduce the role of ScreenBrightnessController from active participant with animation and cached brightness functionality to more or less just a collection. I intend to submit another MR or two to simplify its role.