X-Git-Url: http://wpitchoune.net/gitweb/?p=psensor-pkg-debian.git;a=blobdiff_plain;f=src%2Fcfg.h;h=ed2e20e532ffcf71e234975e45c0281abfb8db27;hp=f7d4df179a67fbd421b82a4f5ece70846130a770;hb=4e6ce51e7afeb7924573c40796910cd003850949;hpb=f055e7507526592d3a74c652f5f053701614c9c0 diff --git a/src/cfg.h b/src/cfg.h index f7d4df1..ed2e20e 100644 --- a/src/cfg.h +++ b/src/cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2012 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 @@ -19,7 +19,15 @@ #ifndef _PSENSOR_CONFIG_H_ #define _PSENSOR_CONFIG_H_ -#include "color.h" +#include + +#include +#include + +enum temperature_unit { + CELSIUS, + FAHRENHEIT +}; enum sensorlist_position { SENSORLIST_POSITION_RIGHT, @@ -34,16 +42,14 @@ struct config { double graph_bg_alpha; - int alpha_channel_enabled; + bool alpha_channel_enabled; - /* - Position of the sensors list table - */ + /* Position of the sensors list table */ enum sensorlist_position sensorlist_position; - int window_decoration_enabled; - int window_keep_below_enabled; - int window_restore_enabled; + bool window_decoration_enabled; + bool window_keep_below_enabled; + bool window_restore_enabled; /* Last saved position of the window. */ int window_x; int window_y; @@ -59,37 +65,98 @@ struct config { int sensor_values_max_length; int sensor_update_interval; - int menu_bar_disabled; + bool menu_bar_disabled; - int unity_launcher_count_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 -*/ +/* Loads psensor configuration */ struct config *config_load(); -void config_save(struct config *); - -void config_init(); +void config_save(const struct config *); void config_cleanup(); -struct color *config_get_sensor_color(char *, struct color *); -void config_set_sensor_color(char *, struct color *); +struct color *config_get_sensor_color(const char *sid, const struct color *); +void config_set_sensor_color(const char *sid, const struct color *); + +int config_get_sensor_alarm_high_threshold(const char *); +void config_set_sensor_alarm_high_threshold(const char *, int); + +int config_get_sensor_alarm_low_threshold(const char *); +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_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); + +bool config_is_appindicator_label_enabled(const char *); +void config_set_appindicator_label_enabled(const char *, bool); -int config_get_sensor_alarm_limit(char *, int); -void config_set_sensor_alarm_limit(char *, int); +bool is_slog_enabled(); +void config_set_slog_enabled_changed_cbk(void (*)(void *), void *); -int config_get_sensor_alarm_enabled(char *); -void config_set_sensor_alarm_enabled(char *, int); +int config_get_slog_interval(); + +bool config_is_smooth_curves_enabled(); +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(); +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 config_set_lmsensor_enable(bool); + +bool config_is_gtop2_enabled(); +void config_set_gtop2_enable(bool); + +bool config_is_udisks2_enabled(); +void config_set_udisks2_enable(bool); + +bool config_is_hddtemp_enabled(); +void config_set_hddtemp_enable(bool); + +bool config_is_libatasmart_enabled(); +void config_set_libatasmart_enable(bool); + +bool config_is_nvctrl_enabled(); +void config_set_nvctrl_enable(bool); + +bool config_is_atiadlsdk_enabled(); +void config_set_atiadlsdk_enable(bool); + +/* + * 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(); -int config_is_sensor_enabled(char *); -void config_set_sensor_enabled(char *, int); +void config_sync(); -char *config_get_sensor_name(char *); -void config_set_sensor_name(char *, const char *); +GSettings *config_get_GSettings(); #endif