diff pidgin/gtkdocklet-gtk.c @ 30909:25e200cb3532

propagate from branch 'im.pidgin.pidgin' (head dca20e09164518b0f7a773edd7e9649f41d8873d) to branch 'im.pidgin.cpw.malu.xmpp.google_refactor' (head 7823c556f2d1bbca43f5ef9f0fea30cabc5d313f)
author Marcus Lundblad <ml@update.uu.se>
date Tue, 31 Aug 2010 18:28:10 +0000
parents 26c1c5069c28
children 3ed54142386f 7fb5e60fd919
line wrap: on
line diff
--- a/pidgin/gtkdocklet-gtk.c	Fri Apr 09 22:14:51 2010 +0000
+++ b/pidgin/gtkdocklet-gtk.c	Tue Aug 31 18:28:10 2010 +0000
@@ -38,7 +38,13 @@
 static void
 docklet_gtk_status_clicked_cb(GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data)
 {
-	pidgin_docklet_clicked(button); 
+	purple_debug_info("docklet", "The button is %u\n", button);
+#ifdef GDK_WINDOWING_QUARTZ
+	/* You can only click left mouse button on MacOSX native GTK. Let that be the menu */
+	pidgin_docklet_clicked(3);
+#else
+	pidgin_docklet_clicked(button);
+#endif
 }
 
 static void
@@ -75,6 +81,12 @@
 	if (icon_name) {
 		gtk_status_icon_set_from_icon_name(docklet, icon_name);
 	}
+
+	if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/docklet/blink")) {
+		gtk_status_icon_set_blinking(docklet, (pending && !connecting));
+	} else if (gtk_status_icon_get_blinking(docklet)) {
+		gtk_status_icon_set_blinking(docklet, FALSE);
+	}
 }
 
 static void
@@ -101,7 +113,8 @@
 	g_return_if_fail(docklet != NULL);
 
 	pidgin_docklet_remove();
-	
+
+	gtk_status_icon_set_visible(docklet, FALSE);
 	g_object_unref(G_OBJECT(docklet));
 	docklet = NULL;