wlroots/include/wlr
Kenny Levinsen 57f8cf9cd4 xwayland: Introduce xwayland_spawn_func_t
Spawning subprocesses is finicky, and the correct way to do it depends
on the current process state which we have no control of. Signal masks,
handlers, limits, scheduling and open file descriptors are a few
examples of things that inadvertently get inherited and cause issues for
either the parent or the child.

We introduced a temporary workaround against common issues by clearing
signal masks and signal handlers known to cause issues for Xwayland, but
this was only a bandaid.

Introduce xwayland_spawn_func_t, which allows the compositor to specify
an implementation of a process spawner that will be used to launch
Xwayland whenever needed. This spawner can then do any cleanup and
accounting as the compositor sees fit.

The spawner takes 4 arguments: The path to Xwayland, the arguments we
have constructed for Xwayland, the environment variables that must be
set for Xwayland, and the file descriptors that must have CLOEXEC
cleared after fork but before exec to be correctly inherited by
Xwayland.

A default implementation is provided both for convenience and as a
sample for implementers to look at.
2025-03-20 17:13:13 +01:00
..
backend session: drop unused wlr_session.vtnr 2025-01-11 22:42:18 +03:00
interfaces ext-image-capture-source-v1: add start/stop hooks 2025-01-14 16:42:12 +01:00
render render/drm_syncobj: Remove the ready signal from timeline_waiter 2025-01-26 18:02:14 -05:00
types fix comment typo in wlr_text_input_v3.h 2025-03-15 00:11:47 +08:00
util Use WLR_PRIVATE for private fields 2024-10-25 07:51:51 +03:00
xwayland xwayland: Introduce xwayland_spawn_func_t 2025-03-20 17:13:13 +01:00
backend.h backend: drop wl_display refs from docs 2025-01-11 21:36:29 +00:00
config.h.in Document config.h 2025-03-10 15:02:26 +00:00
meson.build Version pkgconfig, headers, and library for parallel installation 2024-05-27 22:15:00 +00:00
version.h.in Drop WLR_VERSION_API_* 2021-06-29 12:22:55 +02:00
xcursor.h examples, tinywl: use "default" cursor instead of "left_ptr" 2023-02-01 15:00:42 +01:00
xwayland.h xwayland: split headers 2022-11-02 19:00:23 +01:00