/*
- * Copyright (C) 2010-2011 jeanfi@gmail.com
+ * Copyright (C) 2010-2014 jeanfi@gmail.com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
#include "config.h"
+#include <pthread.h>
+
#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include "psensor.h"
+#define PSENSOR_ICON "psensor"
+
struct ui_psensor {
struct psensor **sensors;
+ /* mutex which MUST be used for accessing sensors.*/
+ pthread_mutex_t sensors_mutex;
GtkWidget *w_graph;
- struct ui_sensorlist *ui_sensorlist;
-
struct config *config;
GtkWidget *main_window;
GtkWidget *menu_bar;
+ GtkWidget *popup_menu;
+
/*
* The main vertical box, top contains the menubar, bottom
* contains the sensor_box.
* The box which contains the sensors graph and the sensors
* information list.
*/
- GtkWidget *sensor_box;
-
- int graph_update_interval;
-
- GMutex *sensors_mutex;
+ GtkPaned *sensor_box;
-#ifdef HAVE_LIBNOTIFY
- /* Time of the last notification */
- struct timeval *notification_last_time;
-#endif
+ GtkListStore *sensors_store;
+ GtkTreeView *sensors_tree;
+ GtkScrolledWindow *sensors_scrolled_tree;
-#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
- AppIndicator *indicator;
-#endif
+ int graph_update_interval;
};
/*
*/
void ui_window_update(struct ui_psensor *);
+/* Show the main psensor window. */
+void ui_window_show(struct ui_psensor *);
+
/* Must be called to terminate Psensor UI. */
void ui_psensor_quit(struct ui_psensor *ui);
void ui_show_about_dialog();
+void ui_enable_alpha_channel(struct ui_psensor *ui);
+
+void ui_cb_preferences(GtkMenuItem *mi, gpointer data);
+void ui_cb_about(GtkMenuItem *mi, gpointer data);
+void ui_cb_menu_quit(GtkMenuItem *mi, gpointer data);
+void ui_cb_sensor_preferences(GtkMenuItem *mi, gpointer data);
+
+struct psensor **ui_get_sensors_ordered_by_position(const struct ui_psensor *);
#endif