Using libweston with GTK/GDK
adlo
adloconwy at gmail.com
Mon Jun 3 17:53:28 UTC 2019
> On 1 May 2019, at 10:34, Pekka Paalanen <ppaalanen at gmail.com> wrote:
>
> it is all just the normal Wayland protocol exchange but with a new
> interface of your own design. I'm not sure if there is a really
> minimal example, but I'll list at least some.
>
> One example of such private protocol extension is
> https://gitlab.freedesktop.org/wayland/weston/blob/master/protocol/weston-desktop-shell.xml
>
> The server-side implementation of it is in shell.c and the
> entrypoint to that is
> https://gitlab.freedesktop.org/wayland/weston/blob/master/desktop-shell/shell.c#L5143
>
> wl_global_create(ec->wl_display,
> &weston_desktop_shell_interface, 1,
> shell, bind_desktop_shell)
>
> which installs the protocol extension in the compositor. You can
> see everything about the implementation by following all callbacks
> that get registered, starting with bind_desktop_shell().
>
> The privacy of the protocol extension, the installed wayland global
> really, is achieved in
> https://gitlab.freedesktop.org/wayland/weston/blob/master/desktop-shell/shell.c#L4366
>
> shell->child.client = weston_client_start(shell->compositor,
> shell->client);
>
> which creates the Wayland connection before forking the child
> process and bind_desktop_shell() then verifying the client trying
> to bind to the global is the client that was forked.
>
Is it required that the helper client be a separate binary that must be launched through a path? Is it possible for the client to just be a function in my main program?
Regards
adlo
More information about the wayland-devel
mailing list