Forked from review¹.
I think we're currently handling display configuration events
incorrectly, or at least in a way that will be surprising to clients.
When the hardware configuration changes we send the new configuration
to all clients. However, if a client has specified a different display
configuration then we *don't* change it. The upshot is that
mir_connection_create_display_configuration() will *not* return the
currently active display configuration.
Furthermore, we clear the session's configuration cache, so if a
session with custom configuration loses focus and then gains focus
again it will *not* have its previous configuration applied.
This seems like confusing behaviour, which becomes even more confusing
when the shell gets to change the default display configuration.
I'm not entirely sure what our behaviour *should* be, though I think
that we should at least:
a) When hardware configuration changes we should verify that any
session-set config remains valid (for example: was the only display
that session had enabled removed?), update the session-set config, and
submit that to the client so that create_display_configuration() will
report the *actual* display configuration.
b) Have a way for a client to revert to default display configuration.
Hmmm.
¹:
https://code.launchpad.net/~raof/mir/display-configuration-for-the-shell/+merge/272692/comments/687576
--
Mir-devel mailing list
Mir-devel@lists.ubuntu.com
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/mir-devel