diff options
-rw-r--r-- | include/wlr/xwayland.h | 2 | ||||
-rw-r--r-- | xwayland/xwm.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h index 3525ff3b..dc9798b2 100644 --- a/include/wlr/xwayland.h +++ b/include/wlr/xwayland.h @@ -53,6 +53,8 @@ struct wlr_xwayland_surface { xcb_atom_t *protocols; size_t protocols_len; + uint32_t motif_hints[5]; + struct { struct wl_signal destroy; diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 7030442b..f97f0a8e 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -286,7 +286,13 @@ static void read_surface_normal_hints(struct wlr_xwm *xwm, static void read_surface_motif_hints(struct wlr_xwm *xwm, struct wlr_xwayland_surface *surface, xcb_get_property_reply_t *reply) { - // TODO + if (reply->value_len < 5) { + return; + } + + uint32_t *motif_hints = xcb_get_property_value(reply); + memcpy(surface->motif_hints, motif_hints, sizeof(surface->motif_hints)); + wlr_log(L_DEBUG, "MOTIF_WM_HINTS (%d)", reply->value_len); } |