> Now that I think of it, I'm somewhat concerned about us overloading the
> meaning of mir_lifecycle_event_will_suspend and mir_lifecycle_event_resumed.
> For applications these mean “serialise your state to disc, because I'm about
> to kill you” and “restore your state from disc, because I've started you up
> again after killing you” respectively.
>
> I know that using focus events for this ran into the problem of spurious focus
> changes during display configuration changes; would fixing those spurious
> focus changes be easy enough, and allow us to just use update-keystate-on-
> focus-change everywhere?
I will look into the second part. On the lifecycle event I thought unity8 also does that, and might not kill the application between the two events, but I might be wrong here. I had a similar concern of overloading semantics when using focus lost as an indication that the server should pause.
> Now that I think of it, I'm somewhat concerned about us overloading the event_will_ suspend and mir_lifecycle_ event_resumed.
> meaning of mir_lifecycle_
> For applications these mean “serialise your state to disc, because I'm about
> to kill you” and “restore your state from disc, because I've started you up
> again after killing you” respectively.
>
> I know that using focus events for this ran into the problem of spurious focus
> changes during display configuration changes; would fixing those spurious
> focus changes be easy enough, and allow us to just use update-keystate-on-
> focus-change everywhere?
I will look into the second part. On the lifecycle event I thought unity8 also does that, and might not kill the application between the two events, but I might be wrong here. I had a similar concern of overloading semantics when using focus lost as an indication that the server should pause.