I don't think it "comes for free" with making nested a loadable "platform" module. There are abstractions missing in the logic.
Currently the nested code simply assumes that the intent is a fullscreen display on every output. C.f. mgn::Display::create_surfaces().
We need to disentangle the code somewhat so that the configuration can override that default
E.g. the code calling mir_surface_spec_set_fullscreen_on_output() is mgn::MirClientHostConnection::create_surface(), and that doesn't have the context to know whether fullscreen is wanted.
I don't think it "comes for free" with making nested a loadable "platform" module. There are abstractions missing in the logic.
Currently the nested code simply assumes that the intent is a fullscreen display on every output. C.f. mgn::Display: :create_ surfaces( ).
We need to disentangle the code somewhat so that the configuration can override that default
E.g. the code calling mir_surface_ spec_set_ fullscreen_ on_output( ) is mgn::MirClientH ostConnection: :create_ surface( ), and that doesn't have the context to know whether fullscreen is wanted.