diff --git a/data/themes/default.edc b/data/themes/default.edc index aef4c286c..b443e7f39 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -5596,15 +5596,15 @@ collections { } programs { program { - name: "on"; - signal: "enable"; + name: "known"; + signal: "known"; source: ""; action: STATE_SET "default" 0.0; target: "fade_clip"; } program { - name: "off"; - signal: "disable"; + name: "unknown"; + signal: "unknown"; source: ""; action: STATE_SET "faded" 0.0; target: "fade_clip"; diff --git a/src/modules/temperature/e_mod_main.c b/src/modules/temperature/e_mod_main.c index 1f423d77b..7b3afba4d 100644 --- a/src/modules/temperature/e_mod_main.c +++ b/src/modules/temperature/e_mod_main.c @@ -602,6 +602,8 @@ _temperature_face_init(Temperature_Face *ef) edje_object_size_min_calc(ef->temp_object, &bw, &bh); ef->minsize = bh; ef->minsize = bw; + + ef->have_temp = -1; _temperature_face_reconfigure(ef); @@ -747,10 +749,22 @@ _temperature_cb_check(void *data) therms = e_file_ls("/proc/acpi/thermal_zone"); if (!therms) { - /* disable therm object */ + if (ef->have_temp != 0) + { + /* disable therm object */ + edje_object_signal_emit(ef->temp_object, "unknown", ""); + edje_object_part_text_set(ef->temp_object, "reading", "NO TEMP"); + ef->have_temp = 0; + } } else { + if (ef->have_temp != 1) + { + /* disable therm object */ + edje_object_signal_emit(ef->temp_object, "known", ""); + ef->have_temp = 1; + } while (therms) { char buf[4096], units[32]; diff --git a/src/modules/temperature/e_mod_main.h b/src/modules/temperature/e_mod_main.h index 0df1c4c0c..85c818845 100644 --- a/src/modules/temperature/e_mod_main.h +++ b/src/modules/temperature/e_mod_main.h @@ -41,6 +41,8 @@ struct _Temperature_Face Evas_Coord xx, yy; Evas_Coord fx, fy, fw; + int have_temp; + Ecore_Timer *temperature_check_timer; Ecore_Event_Handler *ev_handler_container_resize;