X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui_unity.c;h=9f9bd046b1af83076e95d5a7c3549aca140d745b;hb=51450a36b7143fe230197dfa89b5fd072af7421c;hp=2c00403377b4e55bcaedbc48ec4d6ab9b5b88eb8;hpb=17a469b9e2611116bf69662c7ce6dea5799e7d1c;p=psensor.git diff --git a/src/ui_unity.c b/src/ui_unity.c index 2c00403..9f9bd04 100644 --- a/src/ui_unity.c +++ b/src/ui_unity.c @@ -18,6 +18,7 @@ */ #include +#include #include #include @@ -25,6 +26,28 @@ static int initialized; static UnityLauncherEntry *psensor_entry; static unsigned int last_visible = -1; +static double get_max_current_value(struct psensor **sensors, unsigned int type) +{ + double m, v; + struct psensor *s; + + m = UNKNOWN_DBL_VALUE; + while (*sensors) { + s = *sensors; + + if ((s->type & type) && config_is_sensor_graph_enabled(s->id)) { + v = psensor_get_current_value(s); + + if (m == UNKNOWN_DBL_VALUE || v > m) + m = v; + } + + sensors++; + } + + return m; +} + void ui_unity_launcher_entry_update(struct psensor **sensors, unsigned int show, int use_celsius) @@ -49,12 +72,18 @@ void ui_unity_launcher_entry_update(struct psensor **sensors, last_visible = show; } - if (sensors && *sensors) { - v = psensor_get_max_current_value(sensors, SENSOR_TYPE_TEMP); + if (show && sensors && *sensors) { + v = get_max_current_value(sensors, SENSOR_TYPE_TEMP); - if (!use_celsius) - v = celsius_to_fahrenheit(v); + if (v != UNKNOWN_DBL_VALUE) { + if (!use_celsius) + v = celsius_to_fahrenheit(v); - unity_launcher_entry_set_count(psensor_entry, v); + unity_launcher_entry_set_count(psensor_entry, v); + } } } + +void ui_unity_init(void) +{ +}