Comment 1 for bug 1230091

Revision history for this message
Gerry Boland (gerboland) wrote : Re: [feature] Window reparenting (required for appstore app trust model)

Thoughts:

1. Mir has no concept of window parent/child relationships, for now it just has a list of windows per application. This needs to be added, as shell will need that information.

2. Do we want any application to be able to reparent its window to another applications window? Probably not, so need a way to authorize these re-parent moves. Apps like the trusted helpers should always be able to do it. Also I see no reason why if app1 spawns app2, then app2 should be able to reparent a window to app1's window.

3. On the Mir client side API, apps need a way to fetch an identifier of the window it wants its window to be a child of. This information only exists in the mir server currently. Then need to add API to request the reparenting.

Talking with the Mir team about this last week, the idea of "parent/child" relationship for applications was floated. This is where an application can be designated a child of another. So if app1 is child of app2, then if app1 creates a window, it is automatically made a child of app2's window (and is given focus). Or even has choice of app2's windows to be reparented to.

This would make application lifecycle work easier, as can easily tell which children apps to suspend/resume with the parent. And would mean only 1 window in task switcher. And would prevent arbitrary reparenting of windows by abusive applications.

However how does one designate one application to be child of another? I need Mir guys to answer this.