E-Power: Mode tweaks.
- Try newest (most likely?) method first. - Enable selecting specific mode (for debug).
This commit is contained in:
parent
ed72a3550d
commit
0c472462c8
|
@ -27,6 +27,11 @@ typedef struct
|
|||
|
||||
typedef void (bi_fetch_f) (bat_info_t * bi);
|
||||
|
||||
#define MODE_APM 1
|
||||
#define MODE_ACPI 2
|
||||
#define MODE_SYS 3
|
||||
static char power_mode = 0;
|
||||
|
||||
static Epplet_gadget b_close, b_suspend, b_sleep, b_help, image, label;
|
||||
|
||||
static void
|
||||
|
@ -367,11 +372,21 @@ cb_timer(void *data)
|
|||
{
|
||||
struct stat st;
|
||||
|
||||
if ((stat("/proc/apm", &st) > -1) && S_ISREG(st.st_mode))
|
||||
if (power_mode == 0)
|
||||
{
|
||||
if ((stat("/sys/class/power_supply", &st) > -1) && S_ISDIR(st.st_mode))
|
||||
power_mode = MODE_SYS;
|
||||
else if ((stat("/proc/acpi/battery", &st) > -1) && S_ISDIR(st.st_mode))
|
||||
power_mode = MODE_ACPI;
|
||||
if ((stat("/proc/apm", &st) > -1) && S_ISREG(st.st_mode))
|
||||
power_mode = MODE_APM;
|
||||
}
|
||||
|
||||
if (power_mode == MODE_APM)
|
||||
cb_timer_apm();
|
||||
else if ((stat("/proc/acpi/battery", &st) > -1) && S_ISDIR(st.st_mode))
|
||||
else if (power_mode == MODE_ACPI)
|
||||
cb_timer_gen(_bat_info_fetch_acpi);
|
||||
else if ((stat("/sys/class/power_supply", &st) > -1) && S_ISDIR(st.st_mode))
|
||||
else if (power_mode == MODE_SYS)
|
||||
cb_timer_gen(_bat_info_fetch_sys);
|
||||
|
||||
Epplet_timer(cb_timer, NULL, 10.0, "TIMER");
|
||||
|
@ -424,6 +439,12 @@ cb_sleep(void *data)
|
|||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
char *s;
|
||||
|
||||
s = getenv("E_Power_Mode");
|
||||
if (s)
|
||||
power_mode = atoi(s);
|
||||
|
||||
Epplet_Init("E-Power", "0.1", "Enlightenment Laptop Power Epplet",
|
||||
3, 3, argc, argv, 0);
|
||||
atexit(Epplet_cleanup);
|
||||
|
|
Loading…
Reference in New Issue