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

Reply via email to