File: cfg.h

package info (click to toggle)
psensor 1.2.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,216 kB
  • sloc: javascript: 14,982; ansic: 7,696; perl: 5,119; sh: 4,979; makefile: 379; xml: 223; sed: 16
file content (171 lines) | stat: -rw-r--r-- 4,779 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
/*
 * 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
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA
 */
#ifndef _PSENSOR_CONFIG_H_
#define _PSENSOR_CONFIG_H_

#include <gdk/gdk.h>

#include <bool.h>
#include <color.h>

enum temperature_unit {
	CELSIUS,
	FAHRENHEIT
};

enum sensorlist_position {
	SENSORLIST_POSITION_RIGHT,
	SENSORLIST_POSITION_LEFT,
	SENSORLIST_POSITION_TOP,
	SENSORLIST_POSITION_BOTTOM
};

struct config {
	struct color *graph_bgcolor;
	struct color *graph_fgcolor;

	double graph_bg_alpha;

	bool alpha_channel_enabled;

	bool window_restore_enabled;
	/* Last saved position of the window. */
	int window_x;
	int window_y;
	/* Last saved size of the window. */
	int window_w;
	int window_h;
	/* Last saved position of the window divider. */
	int window_divider_pos;

	int graph_update_interval;
	int graph_monitoring_duration;

	int sensor_values_max_length;
	int sensor_update_interval;

	int hide_on_startup;

	bool slog_enabled;
	int slog_interval;
};

/* Loads psensor configuration */
struct config *config_load(void);

void config_save(const struct config *);

void config_cleanup(void);

GdkRGBA *config_get_sensor_color(const char *);
void config_set_sensor_color(const char *, const GdkRGBA *);

bool config_get_sensor_alarm_high_threshold(const char *, double *, double);
void config_set_sensor_alarm_high_threshold(const char *, int);

bool config_get_sensor_alarm_low_threshold(const char *, double *, 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_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);

bool is_slog_enabled(void);
void config_set_slog_enabled_changed_cbk(void (*)(void *), void *);

int config_get_slog_interval(void);

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(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