diff options
author | Simon Ser <contact@emersion.fr> | 2021-03-03 19:04:47 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-03-03 19:04:47 +0100 |
commit | e6f6e1ad0a21caf7e5c622dd88fcf8aefc7c49df (patch) | |
tree | 2ac029d57662436797ed45fba2d7ad58bc46f480 | |
parent | eec2e1d3b16ba40c85483badcc7809277274ce5d (diff) |
xwayland: use -listenfd if available
Xwayland's -listen option was deprecated in [1] in favor of -listenfd.
[1]: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/593
-rw-r--r-- | include/xwayland/meson.build | 3 | ||||
-rw-r--r-- | xwayland/server.c | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/xwayland/meson.build b/include/xwayland/meson.build index 16712083..37ddf4ca 100644 --- a/include/xwayland/meson.build +++ b/include/xwayland/meson.build @@ -1,11 +1,14 @@ +have_listenfd = false if xwayland.found() xwayland_path = xwayland.get_pkgconfig_variable('xwayland') + have_listenfd = xwayland.get_pkgconfig_variable('have_listenfd') == 'true' else xwayland_path = xwayland_prog.full_path() endif xwayland_config_data = configuration_data() xwayland_config_data.set_quoted('XWAYLAND_PATH', xwayland_path) +xwayland_config_data.set10('HAVE_XWAYLAND_LISTENFD', have_listenfd) configure_file( output: 'config.h', configuration: xwayland_config_data, diff --git a/xwayland/server.c b/xwayland/server.c index f5c6b060..58ba1a8e 100644 --- a/xwayland/server.c +++ b/xwayland/server.c @@ -64,8 +64,13 @@ noreturn static void exec_xwayland(struct wlr_xwayland_server *server) { char *argv[] = { "Xwayland", NULL /* display, e.g. :1 */, "-rootless", "-terminate", "-core", +#if HAVE_XWAYLAND_LISTENFD + "-listenfd", NULL /* x_fd[0] */, + "-listenfd", NULL /* x_fd[1] */, +#else "-listen", NULL /* x_fd[0] */, "-listen", NULL /* x_fd[1] */, +#endif "-wm", NULL /* wm_fd[1] */, NULL, }; @@ -91,7 +96,7 @@ noreturn static void exec_xwayland(struct wlr_xwayland_server *server) { snprintf(wayland_socket_str, sizeof(wayland_socket_str), "%d", server->wl_fd[1]); setenv("WAYLAND_SOCKET", wayland_socket_str, true); - wlr_log(WLR_INFO, "WAYLAND_SOCKET=%d Xwayland :%d -rootless -terminate -core -listen %d -listen %d -wm %d", + wlr_log(WLR_INFO, "WAYLAND_SOCKET=%d Xwayland :%d -rootless -terminate -core -listenfd %d -listenfd %d -wm %d", server->wl_fd[1], server->display, server->x_fd[0], server->x_fd[1], server->wm_fd[1]); |