/*
- * Copyright (C) 2010-2013 jeanfi@gmail.com
+ * Copyright (C) 2010-2016 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
#ifndef _PSENSOR_CONFIG_H_
#define _PSENSOR_CONFIG_H_
-#include <gconf/gconf-client.h>
+#include <gdk/gdk.h>
-#include "bool.h"
-#include "color.h"
+#include <bool.h>
+#include <color.h>
enum temperature_unit {
- CELCIUS,
+ CELSIUS,
FAHRENHEIT
};
bool alpha_channel_enabled;
- /*
- * Position of the sensors list table
- */
- enum sensorlist_position sensorlist_position;
-
- bool window_decoration_enabled;
- bool window_keep_below_enabled;
bool window_restore_enabled;
/* Last saved position of the window. */
int window_x;
int sensor_values_max_length;
int sensor_update_interval;
- bool menu_bar_disabled;
-
- bool unity_launcher_count_disabled;
-
int hide_on_startup;
- enum temperature_unit temperature_unit;
-
bool slog_enabled;
int slog_interval;
};
-/*
- Loads config from GConf
-*/
-struct config *config_load();
+/* Loads psensor configuration */
+struct config *config_load(void);
void config_save(const struct config *);
-void config_cleanup();
+void config_cleanup(void);
-struct color *config_get_sensor_color(const char *sid, const struct color *);
-void config_set_sensor_color(const char *sid, const struct color *);
+GdkRGBA *config_get_sensor_color(const char *);
+void config_set_sensor_color(const char *, const GdkRGBA *);
-int config_get_sensor_alarm_high_threshold(const char *);
+bool config_get_sensor_alarm_high_threshold(const char *, double *);
void config_set_sensor_alarm_high_threshold(const char *, int);
-int config_get_sensor_alarm_low_threshold(const char *);
+bool config_get_sensor_alarm_low_threshold(const char *, double *);
void config_set_sensor_alarm_low_threshold(const char *, int);
bool config_get_sensor_alarm_enabled(const char *);
void config_set_sensor_alarm_enabled(const char *, bool);
-bool config_is_sensor_enabled(const char *);
-void config_set_sensor_enabled(const char *, bool);
+bool config_is_sensor_graph_enabled(const char *);
+void config_set_sensor_graph_enabled(const char *, bool);
char *config_get_sensor_name(const char *);
void config_set_sensor_name(const char *, const char *);
bool config_is_appindicator_enabled(const char *);
void config_set_appindicator_enabled(const char *, bool);
-void config_slog_enabled_notify_add(GConfClientNotifyFunc cbk, void *data);
-bool is_slog_enabled();
+bool config_is_appindicator_label_enabled(const char *);
+void config_set_appindicator_label_enabled(const char *, bool);
+
+bool is_slog_enabled(void);
+void config_set_slog_enabled_changed_cbk(void (*)(void *), void *);
+
+int config_get_slog_interval(void);
-int config_get_slog_interval();
+bool config_is_smooth_curves_enabled(void);
+void config_set_smooth_curves_enabled(bool);
int config_get_sensor_position(const char *);
void config_set_sensor_position(const char *, int);
-char *config_get_notif_script();
+char *config_get_notif_script(void);
void config_set_notif_script(const char *);
+
+bool config_is_sensor_enabled(const char *sid);
+void config_set_sensor_enabled(const char *sid, bool enabled);
+
+bool config_is_lmsensor_enabled(void);
+void config_set_lmsensor_enable(bool);
+
+bool config_is_gtop2_enabled(void);
+void config_set_gtop2_enable(bool);
+
+bool config_is_udisks2_enabled(void);
+void config_set_udisks2_enable(bool);
+
+bool config_is_hddtemp_enabled(void);
+void config_set_hddtemp_enable(bool);
+
+bool config_is_libatasmart_enabled(void);
+void config_set_libatasmart_enable(bool);
+
+bool config_is_nvctrl_enabled(void);
+void config_set_nvctrl_enable(bool);
+
+bool config_is_atiadlsdk_enabled(void);
+void config_set_atiadlsdk_enable(bool);
+
+enum temperature_unit config_get_temperature_unit(void);
+void config_set_temperature_unit(enum temperature_unit);
+
+double config_get_default_high_threshold_temperature(void);
+
+bool config_is_window_decoration_enabled(void);
+void config_set_window_decoration_enabled(bool);
+
+bool config_is_window_keep_below_enabled(void);
+void config_set_window_keep_below_enabled(bool);
+
+bool config_is_menu_bar_enabled(void);
+void config_set_menu_bar_enabled(bool);
+
+bool config_is_count_visible(void);
+void config_set_count_visible(bool);
+
+enum sensorlist_position config_get_sensorlist_position(void);
+void config_set_sensorlist_position(enum sensorlist_position pos);
+
+/*
+ * Returns the user directory containing psensor data (configuration
+ * and log).
+ * Corresponds to $HOME/.psensor/
+ * Creates the directory if it does not exist;
+ * Returns NULL if it cannot be determined.
+ */
+const char *get_psensor_user_dir(void);
+
+void config_sync(void);
+
+GSettings *config_get_GSettings(void);
+
#endif