> On 1 May 2019, at 10:34, Pekka Paalanen <ppaala...@gmail.com> wrote: > > On Wed, 1 May 2019 03:24:04 +0100 > adlo <adloco...@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. > > > The client-side implementation is in desktop-shell.c with the entry > point at > https://gitlab.freedesktop.org/wayland/weston/blob/master/clients/desktop-shell.c#L1392 > > if (!strcmp(interface, "weston_desktop_shell")) { > desktop->shell = display_bind(desktop->display, > id, > &weston_desktop_shell_interface, > 1); > weston_desktop_shell_add_listener(desktop->shell, > &listener, > desktop); >
How do I ensure my client will still launch no matter what directory I run my compositor from? How do I get the absolute path of my client? Also, how do I ensure it will still launch correctly no matter whether I am running it from the builddir or the installdir? The locally built version should launch the locally built client and the installed version should launch the installed client. Regards adlo _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel