]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/toplevel.cpp
don't use -q option with egrep, Solaris doesn't have it (bug 517145)
[wxWidgets.git] / src / x11 / toplevel.cpp
index 03dfa0dfefee4d2ec3cbd306617fadde8bfc0910..b610b7f0a5fcdc540778c2a541750aed7a504673 100644 (file)
@@ -39,7 +39,9 @@
     #include "wx/statusbr.h"
 #endif //WX_PRECOMP
 
+#include "wx/settings.h"
 #include "wx/x11/private.h"
+#include "X11/Xutil.h"
 
 bool wxMWMIsRunning(Window w);
 
@@ -88,7 +90,13 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent,
     int xscreen = DefaultScreen( xdisplay );
     Visual *xvisual = DefaultVisual( xdisplay, xscreen );
     Window xparent = RootWindow( xdisplay, xscreen );
+    Colormap cm = DefaultColormap( xdisplay, xscreen );
     
+    // TODO: For dialogs, this should be wxSYS_COLOUR_3DFACE
+    m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE);
+    m_backgroundColour.CalcPixel( (WXColormap) cm );
+    m_hasBgCol = TRUE;
+       
     XSetWindowAttributes xattributes;
     XSizeHints size_hints;
     XWMHints wm_hints;
@@ -96,8 +104,11 @@ bool wxTopLevelWindowX11::Create(wxWindow *parent,
     long xattributes_mask =
         CWOverrideRedirect |
         CWBorderPixel | CWBackPixel;
-    xattributes.background_pixel = BlackPixel( xdisplay, xscreen );
+    xattributes.background_pixel = m_backgroundColour.GetPixel();
     xattributes.border_pixel = BlackPixel( xdisplay, xscreen );
+
+    // TODO: if we want no border, caption etc.,
+    // I think we set this to True to remove decorations
     xattributes.override_redirect = False;
     
     Window xwindow = XCreateWindow( xdisplay, xparent, pos.x, pos.y, size.x, size.y, 
@@ -249,7 +260,7 @@ void wxTopLevelWindowX11::SetIcon(const wxIcon& icon)
         if (icon.GetMask())
         {
             wmHints->flags |= IconMaskHint;
-            wmHints->icon_mask = (Pixmap) icon.GetMask()->GetPixmap();
+            wmHints->icon_mask = (Pixmap) icon.GetMask()->GetBitmap();
         }
 
         XSetWMHints(wxGlobalDisplay(), (Window) GetMainWindow(), wmHints);