status icon
[psensor.git] / src / ui_status.c
index 49137e0..517ab27 100644 (file)
 
 GtkStatusIcon *status;
 
-void ui_status_init()
+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));
+}
+
+static void cb_popup_menu(GtkStatusIcon *icon,
+                         guint button,
+                         guint activate_time,
+                         gpointer data)
+{
+       log_printf(LOG_DEBUG, "cb_popup_menu()");
+}
+
+void ui_status_init(struct ui_psensor *ui)
 {
        log_printf(LOG_DEBUG, "ui_status_create()");
 
-        status = gtk_status_icon_new();
-        gtk_status_icon_set_from_icon_name(status, "psensor");
-        gtk_status_icon_set_tooltip(status, 
-                                    "Psensor - Hardware Sensors Monitoring");
-        gtk_status_icon_set_visible(status, TRUE);
+       status = gtk_status_icon_new();
+       gtk_status_icon_set_from_icon_name(status, "psensor");
+       gtk_status_icon_set_visible(status, TRUE);
+
+       g_signal_connect(G_OBJECT(status),
+                        "popup-menu",
+                        G_CALLBACK(cb_popup_menu),
+                        NULL);
+
+       g_signal_connect(G_OBJECT(status),
+                        "activate",
+                        G_CALLBACK(cb_activate),
+                        ui);
 }
 
 int is_status_supported()
@@ -42,5 +69,12 @@ int is_status_supported()
 
 void ui_status_cleanup()
 {
+       log_printf(LOG_DEBUG, "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()");
+}