#if !defined(HAVE_APPINDICATOR) && !defined(HAVE_APPINDICATOR_029)
ui_status_init(&ui);
+ ui_status_set_visible(1);
#endif
/* main window */
static GtkStatusIcon *unity_fallback(AppIndicator *indicator)
{
+ GtkStatusIcon *ico;
+
log_debug("ui_appindicator#unity_fallback");
appindicator_supported = 0;
- return ui_status_get_icon(ui_psensor);
+ ico = ui_status_get_icon(ui_psensor);
+
+ ui_status_set_visible(1);
+
+ return ico;
}
static void
{
log_debug("ui_appindicator#unity_unfallback");
+ ui_status_set_visible(0);
+
appindicator_supported = 1;
}
status = gtk_status_icon_new();
gtk_status_icon_set_from_icon_name(status, ICON);
- gtk_status_icon_set_visible(status, TRUE);
+ ui_status_set_visible(0);
g_signal_connect(G_OBJECT(status),
"popup-menu",
return status;
}
+
+void ui_status_set_visible(unsigned int visible)
+{
+ log_debug("ui_status_set_visible(%d)", visible);
+
+ if (status) {
+ if (visible)
+ gtk_status_icon_set_visible(status, TRUE);
+ else
+ gtk_status_icon_set_visible(status, FALSE);
+ }
+}
/* Whether status icon is supported i.e. visible. */
int is_status_supported();
GtkStatusIcon *ui_status_get_icon(struct ui_psensor *ui);
+/* Whether the statuc icon should be visible.*/
+void ui_status_set_visible(unsigned int visible);
#endif