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>
dev
Jasper St. Pierre 10 years ago committed by Daniel Stone
parent 97246c067d
commit f30af4e50d
  1. 6
      xwayland/window-manager.c

@ -720,6 +720,8 @@ weston_wm_window_activate(struct wl_listener *listener, void *data)
} }
if (window) { if (window) {
uint32_t values[1];
if (window->override_redirect) if (window->override_redirect)
return; 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, xcb_set_input_focus (wm->conn, XCB_INPUT_FOCUS_POINTER_ROOT,
window->id, XCB_TIME_CURRENT_TIME); 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 { } else {
xcb_set_input_focus (wm->conn, xcb_set_input_focus (wm->conn,
XCB_INPUT_FOCUS_POINTER_ROOT, XCB_INPUT_FOCUS_POINTER_ROOT,

Loading…
Cancel
Save