]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/toplevel.cpp
Use empty check consistent with other parts.
[wxWidgets.git] / src / gtk / toplevel.cpp
index 045a1ec02247b9963511f7eb5d986dadd87d845c..fb7300af9dbb5a6ffefee59158edb6425e9dfaef 100644 (file)
@@ -451,8 +451,18 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
             m_widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 #if GTK_CHECK_VERSION(2,1,0)
             if (style & wxFRAME_TOOL_WINDOW)
+            {
                 gtk_window_set_type_hint(GTK_WINDOW(m_widget),
                                          GDK_WINDOW_TYPE_HINT_UTILITY);
+                
+                // On some WMs, like KDE, a TOOL_WINDOW will still show
+                // on the taskbar, but on Gnome a TOOL_WINDOW will not.
+                // For consistency between WMs and with Windows, we 
+                // should set the NO_TASKBAR flag which will apply
+                // the set_skip_taskbar_hint if it is available,
+                // ensuring no taskbar entry will appear.
+                style |= wxFRAME_NO_TASKBAR;
+            }
 #endif
 
         }
@@ -622,7 +632,8 @@ wxTopLevelWindowGTK::~wxTopLevelWindowGTK()
 
 bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
 {
-    if (show == m_fsIsShowing) return FALSE; // return what?
+    if (show == m_fsIsShowing)
+        return FALSE; // return what?
 
     m_fsIsShowing = show;
     
@@ -641,9 +652,11 @@ bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
             gtk_window_fullscreen( GTK_WINDOW( m_widget ) );
         else
             gtk_window_unfullscreen( GTK_WINDOW( m_widget ) );
+
+        return TRUE;
     }
     else
-#else
+#endif // GTK+ >= 2.2.0
     {
         GdkWindow *window = m_widget->window;
 
@@ -701,7 +714,6 @@ bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
                     m_fsSaveFrame.width, m_fsSaveFrame.height);
         }
     }
-#endif
 
     return TRUE;
 }
@@ -730,6 +742,15 @@ bool wxTopLevelWindowGTK::Show( bool show )
     return wxWindow::Show( show );
 }
 
+void wxTopLevelWindowGTK::Raise()
+{
+#ifdef __WXGTK20__
+    gtk_window_present( GTK_WINDOW( m_widget ) );
+#else
+    wxWindow::Raise();
+#endif
+}
+
 void wxTopLevelWindowGTK::DoMoveWindow(int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(width), int WXUNUSED(height) )
 {
     wxFAIL_MSG( wxT("DoMoveWindow called for wxTopLevelWindowGTK") );