> I don't disagree with shells wanting to attach per-surface metadata. I am more
> worried about metadata that is NOT per-surface. With this approach, such data
> would need to be replicated in each ManagedSurface instance. Also, there would
> have to be a "coordinator" to get the job done, which seems to be missing in
> this approach (or at least I'm not seeing it).
Absolutely that kind of thing will be required for some features. The example I like to think of is snapping ("magnetic") windows that like to align and attach to each other. But I don't intend to use ManagedSurface for everything, and don't intend on any "replication"/duplication.
We do have a "coordinator" already in the pre-existing class "SurfaceController". You don't see it much in this diff though because I didn't have to use it much for the surface states. You do see it used extensively in my previous adventure: https://code.launchpad.net/~vanvugt/mir/states/+merge/243960
I think when the time comes that we need inter-surface behaviours, some of the wiring I prototyped in the above branch will be introduced.
> I don't disagree with shells wanting to attach per-surface metadata. I am more
> worried about metadata that is NOT per-surface. With this approach, such data
> would need to be replicated in each ManagedSurface instance. Also, there would
> have to be a "coordinator" to get the job done, which seems to be missing in
> this approach (or at least I'm not seeing it).
Absolutely that kind of thing will be required for some features. The example I like to think of is snapping ("magnetic") windows that like to align and attach to each other. But I don't intend to use ManagedSurface for everything, and don't intend on any "replication" /duplication.
We do have a "coordinator" already in the pre-existing class "SurfaceControl ler". You don't see it much in this diff though because I didn't have to use it much for the surface states. You do see it used extensively in my previous adventure: /code.launchpad .net/~vanvugt/ mir/states/ +merge/ 243960
https:/
I think when the time comes that we need inter-surface behaviours, some of the wiring I prototyped in the above branch will be introduced.