From f30af4e50d192d2bde0e2d4c3e2b2a076a6f13bb Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sun, 22 Mar 2015 10:14:49 -0700 Subject: [PATCH] xwayland: Stack windows on top when activating them Now that we've removed the XYToWindow handler in Xwayland, we actually have to stack windows properly. This stacks windows on top when activating them. Note that for a fully robust Xwayland implementation, we'll need a complete stack tracker implementation, unfortunately. Reviewed-by: Daniel Stone --- xwayland/window-manager.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c index 145d940e..7018c92f 100644 --- a/xwayland/window-manager.c +++ b/xwayland/window-manager.c @@ -720,6 +720,8 @@ weston_wm_window_activate(struct wl_listener *listener, void *data) } if (window) { + uint32_t values[1]; + if (window->override_redirect) return; @@ -736,6 +738,10 @@ weston_wm_window_activate(struct wl_listener *listener, void *data) xcb_set_input_focus (wm->conn, XCB_INPUT_FOCUS_POINTER_ROOT, window->id, XCB_TIME_CURRENT_TIME); + + values[0] = XCB_STACK_MODE_ABOVE; + xcb_configure_window (wm->conn, window->frame_id, + XCB_CONFIG_WINDOW_STACK_MODE, values); } else { xcb_set_input_focus (wm->conn, XCB_INPUT_FOCUS_POINTER_ROOT,