#include "lmsensor.h"
#include "ui_pref.h"
#include "ui_graph.h"
+#include "ui_status.h"
#ifdef HAVE_UNITY
#include "ui_unity.h"
#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
#include "ui_appindicator.h"
-#else
-#include "ui_status.h"
#endif
#ifdef HAVE_LIBNOTIFY
#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
ui_appindicator_init(&ui);
#else
- ui_status_create();
+ ui_status_init();
#endif
gdk_notify_startup_complete();
psensor_list_free(ui.sensors);
ui.sensors = NULL;
+#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
+ ui_appindicator_cleanup();
+#else
+ ui_status_cleanup();
+#endif
+
g_mutex_unlock(ui.sensors_mutex);
config_cleanup();
{
return appindicator_supported;
}
+
+void ui_appindicator_cleanup()
+{
+ /* TODO: cleanup menu items. */
+}
void ui_appindicator_init(struct ui_psensor *ui);
void ui_appindicator_update(struct ui_psensor *ui);
int is_appindicator_supported();
+void ui_appindicator_cleanup();
#endif
#include "log.h"
#include "ui_status.h"
-void ui_status_create()
-{
- GtkStatusIcon *status;
+GtkStatusIcon *status;
+void ui_status_init()
+{
log_printf(LOG_DEBUG, "ui_status_create()");
status = gtk_status_icon_new();
"Psensor - Hardware Sensors Monitoring");
gtk_status_icon_set_visible(status, TRUE);
}
+
+int is_status_supported()
+{
+ return gtk_status_icon_is_embedded(status);
+}
+
+void ui_status_cleanup()
+{
+ g_object_unref(G_OBJECT(status));
+}
#ifndef _PSENSOR_UI_STATUS_H_
#define _PSENSOR_UI_STATUS_H_
-void ui_status_create();
+void ui_status_init();
+void ui_status_cleanup();
+
+/* Whether status icon is supported i.e. visible. */
+int is_status_supported();
#endif