mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-16 06:59:44 -05:00
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()
This commit is contained in:
parent
23b7d22c6c
commit
068280201a
4 changed files with 47 additions and 0 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue