Visual *xvisual = DefaultVisual( xdisplay, xscreen );
Window xparent = RootWindow( xdisplay, xscreen );
+#if wxUSE_NANOX
+ long xattributes_mask = 0;
+#else
XSetWindowAttributes xattributes;
long xattributes_mask =
xattributes.border_pixel = BlackPixel( xdisplay, xscreen );
xattributes.override_redirect = True;
xattributes.save_under = True;
-
+#endif
+
Window xwindow = XCreateWindow( xdisplay, xparent, pos.x, pos.y, size.x, size.y,
0, DefaultDepth(xdisplay,xscreen), InputOutput, xvisual, xattributes_mask, &xattributes );
m_mainWidget = (WXWindow) xwindow;
wxAddWindowToTable( xwindow, (wxWindow*) this );
+ // Set background to None which will prevent X11 from clearing the
+ // background comletely.
+ XSetWindowBackgroundPixmap( xdisplay, xwindow, None );
+
XSetTransientForHint( xdisplay, xwindow, xparent );
+#if wxUSE_NANOX
+ // Switch off WM
+ wxSetWMDecorations(xwindow, 0);
+#else
XWMHints wm_hints;
wm_hints.flags = InputHint | StateHint /* | WindowGroupHint */;
wm_hints.input = True;
wm_hints.initial_state = NormalState;
XSetWMHints( xdisplay, xwindow, &wm_hints);
-
+#endif
+
return TRUE;
}
-void wxPopupWindow::DoMoveWindow(int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(width), int WXUNUSED(height) )
+void wxPopupWindow::DoMoveWindow(int x, int y, int width, int height )
{
- wxFAIL_MSG( wxT("DoMoveWindow called for wxPopupWindow") );
+ wxWindowX11::DoMoveWindow( x, y, width, height );
}
void wxPopupWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags )
{
bool ret = wxWindowX11::Show( show );
-#if 0
- int x,y;
- GetSize( &x, &y );
- printf( "popup size %d, %d\n", x, y );
-#endif
+ Raise();
return ret;
}