Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/modules/cpufreq


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:


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

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/cpufreq/e_mod_main.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_mod_main.c        19 Apr 2005 02:52:56 -0000      1.3
+++ e_mod_main.c        19 Apr 2005 03:51:49 -0000      1.4
@@ -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 *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 @@
             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 @@
    e->cur_frequency = 0;
    e->can_set_frequency = 0;
    e->cur_governor = NULL;
+   e->active = -1;
 
    return e;
 }
@@ -649,17 +661,20 @@
    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 @@
    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 @@
               }
          }
      }
-
+   
    return ret;
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/cpufreq/e_mod_main.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_mod_main.h        18 Apr 2005 14:33:24 -0000      1.1
+++ e_mod_main.h        19 Apr 2005 03:51:49 -0000      1.2
@@ -17,6 +17,7 @@
    int          cur_frequency;
    int          can_set_frequency;
    char        *cur_governor;
+   unsigned char active;
 };
 
 struct _Config
@@ -41,7 +42,7 @@
    Config    *conf;
    Status    *status;
    
-   char *set_exe_path;
+   char      *set_exe_path;
    
    Ecore_Timer *frequency_check_timer;   
 };




-------------------------------------------------------
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and deploying reporting solutions. Free runtime info,
new features, or free trial, at: http://www.businessobjects.com/devxi/728
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to