summaryrefslogtreecommitdiff
path: root/xwayland
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2015-03-22 10:14:49 -0700
committerDaniel Stone <daniels@collabora.com>2015-04-06 18:10:20 +0100
commitf30af4e50d192d2bde0e2d4c3e2b2a076a6f13bb (patch)
tree995c910ef962740880dcd4f8fc99702e9a700d1a /xwayland
parent97246c067de2e3c1dea9fb359d5d463732366c49 (diff)
downloadweston-f30af4e50d192d2bde0e2d4c3e2b2a076a6f13bb.tar.gz
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 <daniels@collabora.com>
Diffstat (limited to 'xwayland')
-rw-r--r--xwayland/window-manager.c6
1 files changed, 6 insertions, 0 deletions
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,