+ xattributes_mask |= CWOverrideRedirect | CWSaveUnder;
+ xattributes.override_redirect = True;
+ xattributes.save_under = True;
+
+ xattributes_mask |= CWEventMask;
+#endif
+
+ if (need_two_windows)
+ {
+#if !wxUSE_NANOX
+ xattributes.event_mask =
+ ExposureMask | StructureNotifyMask | ColormapChangeMask;
+#endif
+
+ Window xwindow = XCreateWindow( xdisplay, xparent, pos.x, pos.y, size.x, size.y,
+ 0, DefaultDepth(xdisplay,xscreen), InputOutput, xvisual, xattributes_mask, &xattributes );
+
+#if wxUSE_NANOX
+ XSelectInput( xdisplay, xwindow,
+ ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
+ ButtonMotionMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask |
+ KeymapStateMask | FocusChangeMask | ColormapChangeMask | StructureNotifyMask |
+ PropertyChangeMask );
+#endif
+
+ // Set background to None which will prevent X11 from clearing the
+ // background comletely.
+ XSetWindowBackgroundPixmap( xdisplay, xwindow, None );
+
+ m_mainWindow = (WXWindow) xwindow;
+ wxAddWindowToTable( xwindow, (wxWindow*) this );
+
+ // XMapWindow( xdisplay, xwindow );
+#if !wxUSE_NANOX
+ xattributes.event_mask =
+ ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
+ ButtonMotionMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask |
+ KeymapStateMask | FocusChangeMask | ColormapChangeMask | StructureNotifyMask |
+ PropertyChangeMask | VisibilityChangeMask ;
+#endif
+
+ if (HasFlag( wxSUNKEN_BORDER) || HasFlag( wxRAISED_BORDER))
+ {
+ pos2.x = 2;
+ pos2.y = 2;
+ size2.x -= 4;
+ size2.y -= 4;
+ } else
+ if (HasFlag( wxSIMPLE_BORDER ))
+ {
+ pos2.x = 1;
+ pos2.y = 1;
+ size2.x -= 2;
+ size2.y -= 2;
+ } else
+ {
+ pos2.x = 0;
+ pos2.y = 0;
+ }
+
+ xwindow = XCreateWindow( xdisplay, xwindow, pos2.x, pos2.y, size2.x, size2.y,
+ 0, DefaultDepth(xdisplay,xscreen), InputOutput, xvisual, xattributes_mask, &xattributes );
+
+ // Set background to None which will prevent X11 from clearing the
+ // background comletely.
+ XSetWindowBackgroundPixmap( xdisplay, xwindow, None );
+
+#if wxUSE_NANOX
+ XSelectInput( xdisplay, xwindow,
+ ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
+ ButtonMotionMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask |
+ KeymapStateMask | FocusChangeMask | ColormapChangeMask | StructureNotifyMask |
+ PropertyChangeMask );
+#endif
+
+ m_clientWindow = (WXWindow) xwindow;
+ wxAddClientWindowToTable( xwindow, (wxWindow*) this );
+
+ m_isShown = FALSE;
+ XMapWindow( xdisplay, xwindow );
+ }
+ else
+ {
+ // One window
+#if !wxUSE_NANOX
+ xattributes.event_mask =
+ ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
+ ButtonMotionMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask |
+ KeymapStateMask | FocusChangeMask | ColormapChangeMask | StructureNotifyMask |
+ PropertyChangeMask | VisibilityChangeMask ;
+#endif
+
+ Window xwindow = XCreateWindow( xdisplay, xparent, pos.x, pos.y, size.x, size.y,
+ 0, DefaultDepth(xdisplay,xscreen), InputOutput, xvisual, xattributes_mask, &xattributes );
+
+#if wxUSE_NANOX
+ XSelectInput( xdisplay, xwindow,
+ ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
+ ButtonMotionMask | EnterWindowMask | LeaveWindowMask | PointerMotionMask |
+ KeymapStateMask | FocusChangeMask | ColormapChangeMask | StructureNotifyMask |
+ PropertyChangeMask );
+#endif
+
+ // Set background to None which will prevent X11 from clearing the
+ // background comletely.
+ XSetWindowBackgroundPixmap( xdisplay, xwindow, None );
+
+ m_mainWindow = (WXWindow) xwindow;
+ m_clientWindow = (WXWindow) xwindow;
+ wxAddWindowToTable( xwindow, (wxWindow*) this );
+
+ m_isShown = FALSE;
+ // XMapWindow( xdisplay, xwindow );
+ }