share same fct to present main window
[psensor.git] / src / ui_status.c
index d9781de..5677d58 100644 (file)
 #include "log.h"
 #include "ui_status.h"
 
-GtkStatusIcon *status;
+static GtkStatusIcon *status;
+static unsigned status_attention;
 
 static void cb_activate(GtkStatusIcon *icon,
                        gpointer data)
 {
-       struct ui_psensor *ui;
-
        log_printf(LOG_DEBUG, "cb_activate()");
 
-       ui = (struct ui_psensor *)data;
-       gtk_window_present(GTK_WINDOW(ui->main_window));
+       ui_window_show((struct ui_psensor *)data);
 }
 
 static void cb_popup_menu(GtkStatusIcon *icon,
@@ -73,3 +71,15 @@ void ui_status_cleanup()
 
        g_object_unref(G_OBJECT(status));
 }
+
+void ui_status_update(struct ui_psensor *ui, unsigned int attention)
+{
+       log_printf(LOG_DEBUG, "ui_status_update()");
+
+       if (status_attention && !attention)
+               gtk_status_icon_set_from_icon_name(status, "psensor");
+       else if (!status_attention && attention)
+               gtk_status_icon_set_from_icon_name(status, "psensor_hot");
+
+       status_attention = attention;
+}