DisplayChanger customization point

Christopher James Halse Rogers chris at cooperteam.net
Fri Nov 21 02:56:05 UTC 2014


On Fri, Nov 21, 2014 at 2:50 AM, Alan Griffiths 
<alan.griffiths at canonical.com> wrote:
> As part of the mir::Server API migration I'm looking at some 
> acceptance
> tests that customize the [frontend]DisplayChanger.
> 
> Now, with the phone we've not got any downstreams that use this
> customization so it is currently hidden.
> 
> But I think it is needed for desktop and that the customization point
> should really support the mir::DisplayChanger.
> 
> So my thinking is:
> 
> 1. Introduce shell { class DisplayChanger : public
> frontend::DisplayChanger, mir::DisplayChanger {}; }

So, we've got two interfaces, called the same thing, doing wildly 
different things. Superb!

mir::DisplayChanger looks to me like it's notifying the shell of a 
display hardware change. This seems like something we should just 
expose to the shell directly. And by “expose to the shell directly” 
I mean expose a register_display_hardware_change_handler(), rather than 
“subclass this thing”.

frontend::DisplayChanger is the “handle client display configuration 
requests” interface. This seems like a candidate for 
wrap_display_changer() -> frontend::DisplayChanger interface. (Although 
possibly with a better name ☺).




More information about the Mir-devel mailing list