#include <ui_status.h>
#include <ui_unity.h>
-
-
static const char *program_name;
static void print_version(void)
struct config *cfg;
gboolean ret;
struct ui_psensor *ui = (struct ui_psensor *)data;
+ int use_celsius;
ret = TRUE;
cfg = ui->config;
pmutex_lock(&ui->sensors_mutex);
- graph_update(ui->sensors, ui->w_graph, ui->config, ui->main_window);
+ graph_update(ui->sensors, ui_get_graph(), ui->config, ui->main_window);
ui_sensorlist_update(ui, 0);
if (is_appindicator_supported() || is_status_supported())
indicators_update(ui);
- ui_unity_launcher_entry_update(ui->sensors,
- !cfg->unity_launcher_count_disabled,
- cfg->temperature_unit == CELSIUS);
+ if (config_get_temperature_unit() == CELSIUS)
+ use_celsius = 1;
+ else
+ use_celsius = 0;
+ ui_unity_launcher_entry_update(ui->sensors);
if (ui->graph_update_interval != cfg->graph_update_interval) {
ui->graph_update_interval = cfg->graph_update_interval;
}
}
-static void associate_colors(struct psensor **sensors)
-{
- GdkRGBA rgba;
- /* copied from the default colors of the gtk color color
- * chooser. */
- const char *default_colors[27] = {
- "#ef2929", /* Scarlet Red */
- "#fcaf3e", /* Orange */
- "#fce94f", /* Butter */
- "#8ae234", /* Chameleon */
- "#729fcf", /* Sky Blue */
- "#ad7fa8", /* Plum */
- "#e9b96e", /* Chocolate */
- "#888a85", /* Aluminum 1 */
- "#eeeeec", /* Aluminum 2 */
- "#cc0000",
- "#f57900",
- "#edd400",
- "#73d216",
- "#3465a4",
- "#75507b",
- "#c17d11",
- "#555753",
- "#d3d7cf",
- "#a40000",
- "#ce5c00",
- "#c4a000",
- "#4e9a06",
- "#204a87",
- "#5c3566",
- "#8f5902",
- "#2e3436",
- "#babdb6"
- };
- int i;
- struct psensor **cur;
- struct color c;
-
- for (cur = sensors, i = 0; *cur; cur++, i++) {
- gdk_rgba_parse(&rgba, default_colors[i % 27]);
- c.red = rgba.red;
- c.green = rgba.green;
- c.blue = rgba.blue;
-
- (*cur)->color = config_get_sensor_color((*cur)->id, &c);
- }
-}
-
static void
associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
{
- struct psensor **sensor_cur = sensors;
+ bool ret;
+ struct psensor *s;
+ double d, high_temp;
- while (*sensor_cur) {
- struct psensor *s = *sensor_cur;
+ high_temp = config_get_default_high_threshold_temperature();
+
+ while (*sensors) {
+ s = *sensors;
s->cb_alarm_raised = cb_alarm_raised;
s->cb_alarm_raised_data = ui;
- s->alarm_high_threshold
- = config_get_sensor_alarm_high_threshold(s->id);
- s->alarm_low_threshold
- = config_get_sensor_alarm_low_threshold(s->id);
+ ret = config_get_sensor_alarm_high_threshold
+ (s->id, &s->alarm_high_threshold);
- sensor_cur++;
+ if (!ret) {
+ if (s->max == UNKNOWN_DBL_VALUE) {
+ if (s->type & SENSOR_TYPE_TEMP)
+ s->alarm_high_threshold = high_temp;
+ } else {
+ s->alarm_high_threshold = s->max;
+ }
+ }
+
+ ret = config_get_sensor_alarm_low_threshold
+ (s->id, &s->alarm_low_threshold);
+
+ if (!ret && s->min != UNKNOWN_DBL_VALUE)
+ s->alarm_low_threshold = s->min;
+
+ sensors++;
}
}
}
associate_preferences(sensors);
- associate_colors(sensors);
return sensors;
}
g_timeout_add(1000 * ui.graph_update_interval, ui_refresh_thread, &ui);
ui_appindicator_init(&ui);
+ ui_unity_init();
gdk_notify_startup_complete();