X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/feb1c9fb0c22fac2924c1eef6cb88eca4ee375c2..f4bb632cde9cc60fa89f173f0d33c5881794cc68:/src/gtk1/toplevel.cpp diff --git a/src/gtk1/toplevel.cpp b/src/gtk1/toplevel.cpp index 045a1ec022..c5cbc54a40 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; }