diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2015-03-22 10:14:49 -0700 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2015-04-06 18:10:20 +0100 |
commit | f30af4e50d192d2bde0e2d4c3e2b2a076a6f13bb (patch) | |
tree | 995c910ef962740880dcd4f8fc99702e9a700d1a /xwayland | |
parent | 97246c067de2e3c1dea9fb359d5d463732366c49 (diff) | |
download | weston-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.c | 6 |
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, |