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.
This commit is contained in:
Scott Moreau 2019-10-08 10:23:10 -06:00 committed by Simon Ser
parent 9796abcced
commit 3b4824a2fe
2 changed files with 2 additions and 0 deletions

View file

@ -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

View file

@ -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);