is there anyway to get which compositor did the client "wl_display" object connected?
Pekka Paalanen
ppaalanen at gmail.com
Thu Jun 14 10:24:38 UTC 2018
On Thu, 14 Jun 2018 16:59:54 +0800 (CST)
tugouxp <13824125580 at 163.com> wrote:
> hi:
>
> thanks for you answer.
>
> i need this on webkitgtk debug scenario, webkitgtk has a nested
> compositor, it seems the "webprocess" of webkit need both connect the
> nest compositer and the system compositors, so there are two some of
> objecet sets with same client type. for example:
>
>
> i dont know which compositor the "wl_compositor_create_surface"
> performs on? is there any way to know this?
>
Not really, no, sorry. You could possibly make case for adding some ABI
to libwayland-client to help identify the wl_display, but since you
already wrap the wl_display in a C++ object anyway, you could just have
an id field there.
There doesn't seem to be anything helpful in wl_proxy. It wouldn't be
unthinkable to add wl_proxy_get_display() to return the associated
wl_display. Knowing that a thing is a wl_proxy, you could already
inspect the private fields to find out the wl_display in a debugger.
Thanks,
pq
>
> 118 WlUniquePtr<struct wl_surface> PlatformDisplayWayland::createSurface() const
> 119 {
> 120 if (!m_compositor)
> 121 ¦ return nullptr;
> 122
> 123 return WlUniquePtr<struct wl_surface>(wl_compositor_create_surface(m_compositor.get()));
> 124 }
>
>
> thanks for your support!
>
>
>
>
>
>
>
> At 2018-06-14 15:15:25, "Pekka Paalanen" <ppaalanen at gmail.com> wrote:
> >On Thu, 14 Jun 2018 10:30:35 +0800 (CST)
> >tugouxp <13824125580 at 163.com> wrote:
> >
> >> hi folks:
> >> there are scenario that when more than one compositor (such as nested compositor" ) exists.
> >>
> >>
> >> how to distinguish which server do the client "wl_display*" object connected? is there any way to do this?
> >
> >Hi,
> >
> >I think you could get the socket fd and fstat() it, but aside that I
> >don't recall anything. There might not even be a file if the connection
> >was created with socketpair(). I'm not sure if you can somehow get the
> >pid of the server process, maybe you can. There is no protocol for
> >identifying the server, but if this is about an app-internal server,
> >you could easily write tiny a protocol extension to identify your
> >internal server from anything else.
> >
> >What do you want to use it for?
> >
> >
> >Thanks,
> >pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20180614/4a6f387c/attachment.sig>
More information about the wayland-devel
mailing list