diff options
author | Scott Moreau <oreaus@gmail.com> | 2019-10-08 10:23:10 -0600 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2019-10-08 19:46:06 +0300 |
commit | 3b4824a2fe933a829b9710da069f8e067cf7e1a5 (patch) | |
tree | cb9b98d7c5b30a79414ae1b11de4f6592c17d75a | |
parent | 9796abccedef881e99d293a2658c4da9466acd88 (diff) |
xwayland: Expose configure request mask
Without this information, compositors have no way to tell whether
or not to consider the position information valid. Most notably,
a compositor needs to know if it should pick a position for the
surface or use the position sent in the configure request.
-rw-r--r-- | include/wlr/xwayland.h | 1 | ||||
-rw-r--r-- | xwayland/xwm.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h index e2c8d81b..8646e7ac 100644 --- a/include/wlr/xwayland.h +++ b/include/wlr/xwayland.h @@ -179,6 +179,7 @@ struct wlr_xwayland_surface_configure_event { struct wlr_xwayland_surface *surface; int16_t x, y; uint16_t width, height; + uint16_t mask; // xcb_config_window_t }; // TODO: maybe add a seat to these diff --git a/xwayland/xwm.c b/xwayland/xwm.c index fba098d1..c35a9abc 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -871,6 +871,7 @@ static void xwm_handle_configure_request(struct wlr_xwm *xwm, .y = mask & XCB_CONFIG_WINDOW_Y ? ev->y : surface->y, .width = mask & XCB_CONFIG_WINDOW_WIDTH ? ev->width : surface->width, .height = mask & XCB_CONFIG_WINDOW_HEIGHT ? ev->height : surface->height, + .mask = mask, }; wlr_log(WLR_DEBUG, "XCB_CONFIGURE_REQUEST (%u) [%ux%u+%d,%d]", ev->window, wlr_event.width, wlr_event.height, wlr_event.x, wlr_event.y); |