Decorated windows were getting the size of the window including the shadow which is correct, but causing some confusion for motion input events. This was exhibited when one xwayland window overlaps another, hovering over the window beneath recieves no events if within the 32 pixel shadow border area of the window above. --- xwayland/window-manager.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c index 1663ad0..951a7cf 100644 --- a/xwayland/window-manager.c +++ b/xwayland/window-manager.c @@ -954,6 +954,8 @@ static void weston_wm_window_create_frame(struct weston_wm_window *window) { struct weston_wm *wm = window->wm; + struct theme *t = window->wm->theme; + xcb_rectangle_t rect; uint32_t values[3]; int x, y, width, height; int buttons = FRAME_BUTTON_CLOSE; @@ -1009,6 +1011,15 @@ weston_wm_window_create_frame(struct weston_wm_window *window) &wm->format_rgba, width, height); + rect.x = t->margin; + rect.y = t->margin; + rect.width = width - t->margin * 2; + rect.height = height - t->margin * 2; + + xcb_shape_rectangles(wm->conn, + XCB_SHAPE_SO_SET, XCB_SHAPE_SK_INPUT, + 0, window->frame_id, 0, 0, 1, &rect); + hash_table_insert(wm->window_hash, window->frame_id, window); } -- 2.7.4 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel