// TODO: if we want no border, caption etc.,
// I think we set this to True to remove decorations
// No. RR.
- xattributes.override_redirect = False;
+ // Yes :-) JACS (because some WMs don't respect
+ // the hints)
+ xattributes.override_redirect = (style & wxNO_BORDER) ? True : False;
#endif
#if wxUSE_NANOX
wm_protocols[0] = XInternAtom( xdisplay, "WM_DELETE_WINDOW", False );
wm_protocols[1] = XInternAtom( xdisplay, "WM_TAKE_FOCUS", False );
XSetWMProtocols( xdisplay, xwindow, wm_protocols, 2);
+
+#if 0 // TODO
+ // You will need a compliant window manager for this to work
+ // (e.g. sawfish/enlightenment/kde/icewm/windowmaker)
+ if (style & wxSTAY_ON_TOP)
+ {
+ CARD32 data = 4; // or should this be 6? According to http://developer.gnome.org/doc/standards/wm/c44.html
+ XChangeProperty (xdisplay,
+ xwindow,
+ XInternAtom (xdisplay, "_WIN_LAYER", False),
+ XA_CARDINAL,
+ 32,
+ PropModeReplace,
+ (unsigned char *)&data,
+ 1);
+ }
+#endif
+
#endif
wxSetWMDecorations( xwindow, style);
wxSizeEvent event( GetClientSize(), GetId() );
event.SetEventObject( this );
GetEventHandler()->ProcessEvent( event );
+
+ m_needResizeInIdle = FALSE;
}
}
wxSizeEvent event(GetSize(), GetId());
event.SetEventObject(this);
GetEventHandler()->ProcessEvent(event);
+
+ m_needResizeInIdle = FALSE;
+ }
+
+ if (show)
+ {
+ // This does the layout _before_ the
+ // window is shown, else the items are
+ // drawn first at the wrong positions,
+ // then at the correct positions.
+ if (GetAutoLayout())
+ {
+ Layout();
+ }
}
return wxWindowX11::Show(show);