<div dir="ltr">On the client side, it is as you said, you'll need to make the request on the GtkWindow's wl_surface.<div><br><div>On the server side, in the protocol implementation you will get a wl_resource* surface_resource which corresponds to the wl_surface object. You can then do `weston_surface *surface = wl_resource_get_user_data(surface_resource);` to get the weston_surface. I hope this helps.</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 21, 2019 at 8:28 AM adlo <<a href="mailto:adloconwy@gmail.com">adloconwy@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> On 22 May 2019, at 21:36, Ilia Bozhinov <<a href="mailto:ammen99@gmail.com" target="_blank">ammen99@gmail.com</a>> wrote:<br>
> <br>
> If you have a panel/any UI elements, then you most probably have a protocol to communicate that the UI element surface is a special surface. You could then just extend this protocol so that you specify Z-ordering of these surfaces, and then the compositor should respect that.<br>
> <br>
<br>
With such a protocol, how would I create a window using GTK and then tell the compositor that it's a special surface? Client-side, I may have access to the GtkWindow's wl_surface, I think, whereas server-side I have objects such as weston_surface, weston_desktop_surface. How are these two connected?<br>
<br>
Regards<br>
<br>
adlo</blockquote></div>