diff --git a/WINGs/wevent.c b/WINGs/wevent.c index b49d725..d54539d 100644 --- a/WINGs/wevent.c +++ b/WINGs/wevent.c @@ -196,7 +196,7 @@ int WMHandleEvent(WMEvent * event) /* Look up the WINGs view for this event via the view backend. */ view = (W_View *)event->_view_target; - if (!view) { + if (!view && event->type != WME_MAP_REQUEST && event->type != WME_CONFIGURE_REQUEST) { extern W_View *W_GetViewForWindow(WNativeWindow id); view = W_GetViewForWindow((WNativeWindow)window); } diff --git a/WINGs/wview_x11.c b/WINGs/wview_x11.c index 9e6dfcb..583bc08 100644 --- a/WINGs/wview_x11.c +++ b/WINGs/wview_x11.c @@ -31,7 +31,11 @@ static void x11_create_root(void *vctx, W_View *view) { W_Screen *scr = (W_Screen *)vctx; - view->window = scr->rootWin; + /* Always use the real root window as parent for toplevel windows, + * even when RContext->drawable is an intermediate window created + * for a non-default visual. Otherwise MapRequest won't reach the + * window manager (which selects SubstructureRedirect on root). */ + view->window = RootWindow(scr->display, scr->screen); view->size.width = WidthOfScreen(ScreenOfDisplay(scr->display, scr->screen)); view->size.height = HeightOfScreen(ScreenOfDisplay(scr->display, scr->screen)); } diff --git a/core.177174 b/core.177174 deleted file mode 100644 index c6d8440..0000000 Binary files a/core.177174 and /dev/null differ diff --git a/core.877872 b/core.877872 deleted file mode 100644 index 919ee51..0000000 Binary files a/core.877872 and /dev/null differ diff --git a/wprefs.log b/wprefs.log index b7e618b..cceb0b2 100644 --- a/wprefs.log +++ b/wprefs.log @@ -1,4 +1,22 @@ -; WPrefs -Fontconfig warning: using without calling FcInit() -WPrefs(registry_handle_global(wclient_wl.c:1132)): warning: wclient_wl: bound wmaker_popup_manager_v1 -WPrefs(xdg_toplevel_handle_close(wclient_wl.c:368)): warning: wclient_wl: xdg_toplevel_handle_close fired for view=0x20000001 +W_X11OpenDisplay: display="" calling XOpenDisplay... +W_X11OpenDisplay: XOpenDisplay returned 0x55c91220c1a0 +W_X11OpenDisplay: calling WMCreateSimpleApplicationScreen... +W_X11OpenDisplay: WMCreateSimpleApplicationScreen returned 0x55c91221e220 +WPrefs: WMOpenScreen returned 0x55c91221e220 +WPrefs: calling Initialize... +WPrefs: Initialize done, entering event loop +W_X11OpenDisplay: display="" calling XOpenDisplay... +W_X11OpenDisplay: XOpenDisplay returned 0x56054383e1a0 +W_X11OpenDisplay: calling WMCreateSimpleApplicationScreen... +W_X11OpenDisplay: WMCreateSimpleApplicationScreen returned 0x560543850220 +WPrefs: WMOpenScreen returned 0x560543850220 +WPrefs: calling Initialize... +WPrefs: Initialize done, entering event loop +W_X11OpenDisplay: display="" calling XOpenDisplay... +W_X11OpenDisplay: XOpenDisplay returned 0x5617f63571a0 +W_X11OpenDisplay: calling WMCreateSimpleApplicationScreen... +W_X11OpenDisplay: WMCreateSimpleApplicationScreen returned 0x5617f6369220 +WPrefs: WMOpenScreen returned 0x5617f6369220 +WPrefs: calling Initialize... +WPrefs: Initialize done, entering event loop +X connection to :3 broken (explicit kill or server shutdown).