cross-client surface references

Daniel Stone daniel at
Thu Jul 9 05:26:09 PDT 2015


On 9 July 2015 at 12:51, Alexander Larsson <alexl at> wrote:
> So, you disagree with xdg_surface.set_parent accepting both xdg_surface
> and xdg_foreign objects?

It can't. Typing is very strict, and there is no subtyping.
xdg_surface doesn't extend wl_surface in a traditional (C++/Java)
style inherited relationship, but rather creates a whole 'nother
object, and despite their relationship, the two can't be mixed and
matched. So it has to be a separate request.

> One could add xdg_surface.set_foreign_parent() then to make it explicit what is meant.

Or rather, xdg_foreign.reparent_as_dialog_into(xdg_surface). I like
the idea of limiting the surface area as much as possible, to not only
make it explicit as to what is and isn't possible, but also because it
makes it easier for compositors to implement.

This is essentially just semantics though: sounds like
Jasper/Jonas/Pekka/myself are all actually on the same page, which is
rare enough that it's probably a good sign.


More information about the wayland-devel mailing list