X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/feb1c9fb0c22fac2924c1eef6cb88eca4ee375c2..19311d4e7c43a3f6243bf805c164fd76cada0386:/src/gtk1/toplevel.cpp diff --git a/src/gtk1/toplevel.cpp b/src/gtk1/toplevel.cpp index 045a1ec022..fb7300af9d 100644 --- a/src/gtk1/toplevel.cpp +++ b/src/gtk1/toplevel.cpp @@ -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") );