#include <gtk/gtk.h>
-#include <sensors/sensors.h>
-#include <sensors/error.h>
-
#include "config.h"
#include "cfg.h"
#include "nvidia.h"
#endif
+#ifdef HAVE_LIBATIADL
+#include "amd.h"
+#endif
+
#ifdef HAVE_REMOTE_SUPPORT
#include "rsensor.h"
#endif
#include "ui_notify.h"
#endif
+#ifdef HAVE_GTOP
+#include "cpu.h"
+#endif
+
#include "compat.h"
static const char *program_name;
struct config *cfg = ui->config;
while (1) {
- /*gdk_threads_enter();*/
g_mutex_lock(ui->sensors_mutex);
if (!sensors)
#ifdef HAVE_NVIDIA
nvidia_psensor_list_update(sensors);
#endif
-
- /*gdk_threads_leave();*/
+#ifdef HAVE_LIBATIADL
+ amd_psensor_list_update(sensors);
+#endif
g_mutex_unlock(ui->sensors_mutex);
sleep(cfg->sensor_update_interval);
cfg = ui->config;
g_mutex_lock(ui->sensors_mutex);
- /*gdk_threads_enter();*/
graph_update(ui->sensors, ui->w_graph, ui->config);
- ui_sensorlist_update(ui->ui_sensorlist);
+ ui_sensorlist_update(ui);
#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
ui_appindicator_update(ui);
}
g_mutex_unlock(ui->sensors_mutex);
- /*gdk_threads_leave();*/
if (ret == FALSE)
g_timeout_add(1000 * ui->graph_update_interval,
struct ui_psensor ui;
GError *error;
GThread *thread;
- int err, optc;
+ int optc;
char *url = NULL;
int cmdok = 1;
gdk_threads_init();
/* gdk_threads_enter(); */
- gtk_init(&argc, &argv);
+ gtk_init(NULL, NULL);
#ifdef HAVE_LIBNOTIFY
ui.notification_last_time = NULL;
ui.config = config_load();
- err = lmsensor_init();
- if (!err) {
- fprintf(stderr, _("ERROR: lmsensor init failure: %s\n"),
- sensors_strerror(err));
- exit(EXIT_FAILURE);
- }
+ psensor_init();
if (url) {
#ifdef HAVE_REMOTE_SUPPORT
exit(EXIT_FAILURE);
#endif
} else {
-#ifdef HAVE_NVIDIA
- struct psensor **tmp;
-
- tmp = get_all_sensors(600);
- ui.sensors = nvidia_psensor_list_add(tmp, 600);
-
- if (tmp != ui.sensors)
- free(tmp);
-#else
ui.sensors = get_all_sensors(600);
+#ifdef HAVE_NVIDIA
+ ui.sensors = nvidia_psensor_list_add(ui.sensors, 600);
+#endif
+#ifdef HAVE_LIBATIADL
+ ui.sensors = amd_psensor_list_add(ui.sensors, 600);
+#endif
+#ifdef HAVE_GTOP
+ ui.sensors = cpu_psensor_list_add(ui.sensors, 600);
#endif
}
ui.w_graph = ui_graph_create(&ui);
/* sensor list */
- ui.ui_sensorlist = ui_sensorlist_create(ui.sensors);
+ ui_sensorlist_create(&ui);
ui_window_update(&ui);
/* main loop */
gtk_main();
- sensors_cleanup();
+ g_mutex_lock(ui.sensors_mutex);
+
+ psensor_cleanup();
+
+#ifdef HAVE_NVIDIA
+ nvidia_cleanup();
+#endif
+#ifdef HAVE_LIBATIADL
+ amd_cleanup();
+#endif
psensor_list_free(ui.sensors);
+ ui.sensors = NULL;
+
+ g_mutex_unlock(ui.sensors_mutex);
return 0;
}