[Goodies-commits] r6436 - in sion/trunk: . src
Enrico Troeger
enrico at xfce.org
Mon Jan 12 00:08:47 CET 2009
Author: enrico
Date: 2009-01-11 23:08:47 +0000 (Sun, 11 Jan 2009)
New Revision: 6436
Modified:
sion/trunk/ChangeLog
sion/trunk/src/window.c
Log:
Fix 'Minimize to tray'.
Modified: sion/trunk/ChangeLog
===================================================================
--- sion/trunk/ChangeLog 2009-01-11 23:08:41 UTC (rev 6435)
+++ sion/trunk/ChangeLog 2009-01-11 23:08:47 UTC (rev 6436)
@@ -9,6 +9,8 @@
* src/bookmarkeditdialog.c:
Hide auto connect label also for the Connect dialog.
Fix mnemonics.
+ * src/window.c:
+ Fix 'Minimize to tray'.
2009-01-10 Enrico Tröger <enrico(at)xfce(dot)org>
Modified: sion/trunk/src/window.c
===================================================================
--- sion/trunk/src/window.c 2009-01-11 23:08:41 UTC (rev 6435)
+++ sion/trunk/src/window.c 2009-01-11 23:08:47 UTC (rev 6436)
@@ -127,13 +127,35 @@
static gboolean sion_window_state_event(GtkWidget *widget, GdkEventWindowState *event)
{
SionWindowPrivate *priv = SION_WINDOW_GET_PRIVATE(widget);
+ gboolean show_trayicon = sion_settings_get_boolean(priv->settings, "show-trayicon");
- if ((event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) &&
- sion_settings_get_boolean(priv->settings, "show-trayicon"))
+ if (show_trayicon)
{
- gtk_widget_hide(widget);
+ gboolean window_hidden = FALSE;
+ if (event->changed_mask & GDK_WINDOW_STATE_ICONIFIED)
+ {
+ if (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED)
+ window_hidden = TRUE;
+ else
+ window_hidden = FALSE;
+ }
+ if (event->changed_mask & GDK_WINDOW_STATE_WITHDRAWN)
+ {
+ if (event->new_window_state & GDK_WINDOW_STATE_WITHDRAWN)
+ window_hidden = TRUE;
+ else
+ window_hidden = FALSE;
+ }
+
+ if (window_hidden && show_trayicon)
+ {
+ gtk_window_set_skip_taskbar_hint(GTK_WINDOW(widget), TRUE);
+ }
+ else if (! window_hidden)
+ {
+ gtk_window_set_skip_taskbar_hint(GTK_WINDOW(widget), FALSE);
+ }
}
-
return FALSE;
}
More information about the Goodies-commits
mailing list