fix fade out for if you dont have cpufreq control :)

SVN revision: 14234
This commit is contained in:
Carsten Haitzler 2005-04-19 03:51:49 +00:00
parent b7804422b4
commit 0a13d9ec3e
3 changed files with 64 additions and 13 deletions

View File

@ -100,6 +100,8 @@ group {
part {
name: "meter";
type: IMAGE;
clip_to: "fade_clip";
mouse_events: 0;
description {
state: "default" 0.0;
@ -191,6 +193,7 @@ group {
name: "decrease_button";
type: IMAGE;
mouse_events: 1;
clip_to: "fade_clip";
description {
state: "default" 0.0;
@ -224,6 +227,7 @@ group {
name: "increase_button";
type: IMAGE;
mouse_events: 1;
clip_to: "fade_clip";
description {
state: "default" 0.0;
@ -257,7 +261,7 @@ group {
name: "cpu";
type: IMAGE;
mouse_events: 1;
clip_to: "fade_clip";
description {
state: "default" 0.0;
rel1 {
@ -286,6 +290,7 @@ group {
type: TEXT;
effect: SOFT_SHADOW;
mouse_events: 0;
clip_to: "fade_clip";
description {
state: "default" 0.0;
rel1 {
@ -311,6 +316,7 @@ group {
part {
name: "decrease";
type: RECT;
clip_to: "fade_clip";
description {
state: "default" 0.0;
visible: 1;
@ -334,6 +340,7 @@ group {
part {
name: "increase";
type: RECT;
clip_to: "fade_clip";
description {
state: "default" 0.0;
visible: 1;
@ -353,6 +360,19 @@ group {
visible: 0;
}
}
part {
name: "fade_clip";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
color: 255 255 255 255;
}
description {
state: "faded" 0.0;
color: 255 255 255 128;
}
}
} /* end parts */
@ -417,5 +437,19 @@ group {
action: STATE_SET "default" 0.0;
target: "decrease_button";
}
program {
name: "enabled";
signal: "active";
source: "";
action: STATE_SET "default" 0.0;
target: "fade_clip";
}
program {
name: "disabled";
signal: "passive";
source: "";
action: STATE_SET "faded" 0.0;
target: "fade_clip";
}
}
}

View File

@ -2,10 +2,9 @@
#include <errno.h>
#include "e_mod_main.h"
/* FIXME: need to handle performance and powersave convernors (only auto/manual now)
* FIXME: check permissions (can execute) before trying
/* FIXME: need to handle performance and powersave gonvernors (only auto(ondemand)/manual(userspace) supported now)
* FIXME: check permissions (can execute) setfreq before trying
* FIXME: display throttling state
* FIXME: if system doesnt support cpufreq - fade out
*/
static Cpufreq *_cpufreq_new(E_Module *module);
@ -496,9 +495,10 @@ _cpufreq_cb_check(void *data)
Cpufreq *e;
Cpufreq_Face *face;
Evas_List *l;
int active;
e = data;
active = e->status->active;
if (_cpufreq_status_check_current(e->status))
{
for (l = e->faces; l; l = l->next)
@ -506,7 +506,18 @@ _cpufreq_cb_check(void *data)
face = l->data;
_cpufreq_face_update_current(face);
}
}
}
if (active != e->status->active)
{
for (l = e->faces; l; l = l->next)
{
face = l->data;
if (e->status->active == 0)
edje_object_signal_emit(face->freq_object, "passive", "");
else if (e->status->active == 1)
edje_object_signal_emit(face->freq_object, "active", "");
}
}
return 1;
}
@ -524,6 +535,7 @@ _cpufreq_status_new()
e->cur_frequency = 0;
e->can_set_frequency = 0;
e->cur_governor = NULL;
e->active = -1;
return e;
}
@ -649,17 +661,20 @@ _cpufreq_status_check_current(Status *e)
int frequency;
ret = 0;
e->active = 0;
f = fopen("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
if (f)
{
fgets(buf, sizeof(buf), f); buf[sizeof(buf) - 1] = 0;
fgets(buf, sizeof(buf), f);
buf[sizeof(buf) - 1] = 0;
fclose(f);
frequency = atoi(buf);
if(frequency != e->cur_frequency)
if (frequency != e->cur_frequency)
ret = 1;
e->cur_frequency = frequency;
e->active = 1;
}
f = fopen("/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed", "r");
@ -676,14 +691,15 @@ _cpufreq_status_check_current(Status *e)
f = fopen("/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor", "r");
if (f)
{
fgets(buf, sizeof(buf), f); buf[sizeof(buf) - 1] = 0;
fgets(buf, sizeof(buf), f);
buf[sizeof(buf) - 1] = 0;
fclose(f);
if ((e->cur_governor == NULL) || (strcmp(buf, e->cur_governor)))
{
ret = 1;
if(e->cur_governor)
if (e->cur_governor)
free(e->cur_governor);
e->cur_governor = strdup(buf);
@ -696,7 +712,7 @@ _cpufreq_status_check_current(Status *e)
}
}
}
return ret;
}

View File

@ -17,6 +17,7 @@ struct _Status
int cur_frequency;
int can_set_frequency;
char *cur_governor;
unsigned char active;
};
struct _Config
@ -41,7 +42,7 @@ struct _Cpufreq
Config *conf;
Status *status;
char *set_exe_path;
char *set_exe_path;
Ecore_Timer *frequency_check_timer;
};