diff options
author | John Lindgren <john@jlindgren.net> | 2022-11-09 16:09:43 -0500 |
---|---|---|
committer | John Lindgren <john@jlindgren.net> | 2023-02-13 12:57:20 -0500 |
commit | 068280201afdb8d87b1c624d115bed8866c6852e (patch) | |
tree | 62fcd3c498ecc61d63a62b737a30e5a8187f2990 /include/wlr/xwayland | |
parent | 23b7d22c6c04b4c86673d7d4bec5bf874a1f43f7 (diff) |
xwayland: Read and publish _NET_WM_STRUT_PARTIAL property
This is needed for compositors that want to reserve space for
XWayland panels. Such a feature can be useful in a "transitional"
setup, where only the X11 window manager and compositor is replaced
but other components of an X11 desktop environment are still used.
This change simply reads the X11 property; the compositor is free
to ignore it. Thus, compositors that don't want to support such a
"transitional" feature are not impacted.
v2: Update xwayland_surface_associate()
Diffstat (limited to 'include/wlr/xwayland')
-rw-r--r-- | include/wlr/xwayland/xwayland.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/wlr/xwayland/xwayland.h b/include/wlr/xwayland/xwayland.h index 63e64f36..c1dbc339 100644 --- a/include/wlr/xwayland/xwayland.h +++ b/include/wlr/xwayland/xwayland.h @@ -12,6 +12,7 @@ #include <stdbool.h> #include <wayland-server-core.h> #include <xcb/xcb.h> +#include <xcb/xcb_ewmh.h> #include <xcb/xcb_icccm.h> #include <wlr/util/addon.h> @@ -121,6 +122,11 @@ struct wlr_xwayland_surface { uint32_t decorations; xcb_icccm_wm_hints_t *hints; xcb_size_hints_t *size_hints; + /* + * _NET_WM_STRUT_PARTIAL (used by e.g. XWayland panels; + * right/bottom are translated into root x/y coordinates) + */ + xcb_ewmh_wm_strut_partial_t *strut_partial; bool pinging; struct wl_event_source *ping_timer; @@ -154,6 +160,7 @@ struct wlr_xwayland_surface { struct wl_signal set_window_type; struct wl_signal set_hints; struct wl_signal set_decorations; + struct wl_signal set_strut_partial; struct wl_signal set_override_redirect; struct wl_signal set_geometry; struct wl_signal ping_timeout; |