xwm: Redirect root window subwindows

xwayland no longer does this for us, we have to request it now
dev
Kristian Høgsberg 11 years ago
parent 9acd374822
commit bcfd07b70a
  1. 2
      configure.ac
  2. 5
      src/xwayland/window-manager.c
  3. 1
      src/xwayland/xwayland.h

@ -92,7 +92,7 @@ AC_ARG_ENABLE(xwayland-test, [ --enable-xwayland-test],,
AM_CONDITIONAL(ENABLE_XWAYLAND, test x$enable_xwayland = xyes) AM_CONDITIONAL(ENABLE_XWAYLAND, test x$enable_xwayland = xyes)
AM_CONDITIONAL(ENABLE_XWAYLAND_TEST, test x$enable_xwayland = xyes -a x$enable_xwayland_test = xyes) AM_CONDITIONAL(ENABLE_XWAYLAND_TEST, test x$enable_xwayland = xyes -a x$enable_xwayland_test = xyes)
if test x$enable_xwayland = xyes; then if test x$enable_xwayland = xyes; then
PKG_CHECK_MODULES([XWAYLAND], xcb xcb-xfixes xcursor cairo-xcb) PKG_CHECK_MODULES([XWAYLAND], xcb xcb-xfixes xcb-composite xcursor cairo-xcb)
AC_DEFINE([BUILD_XWAYLAND], [1], [Build the X server launcher]) AC_DEFINE([BUILD_XWAYLAND], [1], [Build the X server launcher])
AC_ARG_WITH(xserver-path, AS_HELP_STRING([--with-xserver-path=PATH], AC_ARG_WITH(xserver-path, AS_HELP_STRING([--with-xserver-path=PATH],

@ -1720,6 +1720,7 @@ weston_wm_get_resources(struct weston_wm *wm)
uint32_t i; uint32_t i;
xcb_prefetch_extension_data (wm->conn, &xcb_xfixes_id); xcb_prefetch_extension_data (wm->conn, &xcb_xfixes_id);
xcb_prefetch_extension_data (wm->conn, &xcb_composite_id);
formats_cookie = xcb_render_query_pict_formats(wm->conn); formats_cookie = xcb_render_query_pict_formats(wm->conn);
@ -1887,6 +1888,10 @@ weston_wm_create(struct weston_xserver *wxs)
XCB_EVENT_MASK_PROPERTY_CHANGE; XCB_EVENT_MASK_PROPERTY_CHANGE;
xcb_change_window_attributes(wm->conn, wm->screen->root, xcb_change_window_attributes(wm->conn, wm->screen->root,
XCB_CW_EVENT_MASK, values); XCB_CW_EVENT_MASK, values);
xcb_composite_redirect_subwindows(wm->conn, wm->screen->root,
XCB_COMPOSITE_REDIRECT_MANUAL);
wm->theme = theme_create(); wm->theme = theme_create();
weston_wm_create_wm_window(wm); weston_wm_create_wm_window(wm);

@ -23,6 +23,7 @@
#include <wayland-server.h> #include <wayland-server.h>
#include <xcb/xcb.h> #include <xcb/xcb.h>
#include <xcb/xfixes.h> #include <xcb/xfixes.h>
#include <xcb/composite.h>
#include <cairo/cairo-xcb.h> #include <cairo/cairo-xcb.h>
#include "../compositor.h" #include "../compositor.h"

Loading…
Cancel
Save