This one actually has the patch attached ;)
Index: data/themes/default.edc =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/data/themes/default.edc,v retrieving revision 1.21 diff -r1.21 default.edc 5403c5403 < state: "faded" 0.0; --- > state: "faded" 0.5; 5405a5406,5413 > description { > state: "faded" 1.0; > color: 255 255 255 255; > } > description { > state: "faded" 0.0; > color: 255 255 255 0; > } 5443a5452,5475 > program { > name: "pulse"; > signal: "pulse"; > source: ""; > action: STATE_SET "faded" 0.0; > transition: LINEAR 0.5; > after: "pulse2"; > target: "fade_clip"; > } > program { > name: "pulse2"; > signal: "pulse2"; > source: ""; > action: STATE_SET "faded" 1.0; > transition: LINEAR 0.5; > target: "fade_clip"; > } > program { > name: "pulsestop"; > signal: "pulsestop"; > source: ""; > action: STATE_SET "default" 0.0; > target: "fade_clip"; > } Index: src/modules/battery/e_mod_main.c =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/battery/e_mod_main.c,v retrieving revision 1.8 diff -r1.8 e_mod_main.c 60a61 > _battery_config_menu_del(e, e->config_menu_alarm); 119a121 > E_CONFIG_VAL(D, T, alarm, INT); 128c130,131 < e->conf->poll_time = 30.0; --- > e->conf->poll_time = 30.0; > e->conf->alarm = 30; 133a137 > E_CONFIG_LIMIT(e->conf->alarm, 0, 60); 157a162 > /* e->alarm_triggered = 0;*/ 171a177,239 > _battery_menu_alarm_10(void *data, E_Menu *m, E_Menu_Item *mi) > { > Battery *e; > > e = data; > e->conf->alarm = 10; > } > > static void > _battery_menu_alarm_20(void *data, E_Menu *m, E_Menu_Item *mi) > { > Battery *e; > > e = data; > e->conf->alarm = 20; > } > > static void > _battery_menu_alarm_30(void *data, E_Menu *m, E_Menu_Item *mi) > { > Battery *e; > > e = data; > e->conf->alarm = 30; > } > > static void > _battery_menu_alarm_40(void *data, E_Menu *m, E_Menu_Item *mi) > { > Battery *e; > > e = data; > e->conf->alarm = 40; > } > > static void > _battery_menu_alarm_50(void *data, E_Menu *m, E_Menu_Item *mi) > { > Battery *e; > > e = data; > e->conf->alarm = 50; > } > > static void > _battery_menu_alarm_60(void *data, E_Menu *m, E_Menu_Item *mi) > { > Battery *e; > > e = data; > e->conf->alarm = 60; > } > > static void > _battery_menu_alarm_disable(void *data, E_Menu *m, E_Menu_Item *mi) > { > Battery *e; > > e = data; > e->conf->alarm = 0; > } > > static void 239a308,360 > e_menu_item_label_set(mi, "Disable"); > e_menu_item_radio_set(mi, 1); > e_menu_item_radio_group_set(mi, 1); > if (e->conf->alarm == 0) e_menu_item_toggle_set(mi, 1); > e_menu_item_callback_set(mi, _battery_menu_alarm_disable, e); > > mi = e_menu_item_new(mn); > e_menu_item_label_set(mi, "10 mins"); > e_menu_item_radio_set(mi, 1); > e_menu_item_radio_group_set(mi, 1); > if (e->conf->alarm == 10) e_menu_item_toggle_set(mi, 1); > e_menu_item_callback_set(mi, _battery_menu_alarm_10, e); > > mi = e_menu_item_new(mn); > e_menu_item_label_set(mi, "20 mins"); > e_menu_item_radio_set(mi, 1); > e_menu_item_radio_group_set(mi, 1); > if (e->conf->alarm == 20) e_menu_item_toggle_set(mi, 1); > e_menu_item_callback_set(mi, _battery_menu_alarm_20, e); > > mi = e_menu_item_new(mn); > e_menu_item_label_set(mi, "30 mins"); > e_menu_item_radio_set(mi, 1); > e_menu_item_radio_group_set(mi, 1); > if (e->conf->alarm == 30) e_menu_item_toggle_set(mi, 1); > e_menu_item_callback_set(mi, _battery_menu_alarm_30, e); > > mi = e_menu_item_new(mn); > e_menu_item_label_set(mi, "40 mins"); > e_menu_item_radio_set(mi, 1); > e_menu_item_radio_group_set(mi, 1); > if (e->conf->alarm == 40) e_menu_item_toggle_set(mi, 1); > e_menu_item_callback_set(mi, _battery_menu_alarm_40, e); > > mi = e_menu_item_new(mn); > e_menu_item_label_set(mi, "50 mins"); > e_menu_item_radio_set(mi, 1); > e_menu_item_radio_group_set(mi, 1); > if (e->conf->alarm == 50) e_menu_item_toggle_set(mi, 1); > e_menu_item_callback_set(mi, _battery_menu_alarm_50, e); > > mi = e_menu_item_new(mn); > e_menu_item_label_set(mi, "1 hour"); > e_menu_item_radio_set(mi, 1); > e_menu_item_radio_group_set(mi, 1); > if (e->conf->alarm == 60) e_menu_item_toggle_set(mi, 1); > e_menu_item_callback_set(mi, _battery_menu_alarm_60, e); > > e->config_menu_alarm = mn; > > mn = e_menu_new(); > > mi = e_menu_item_new(mn); 273a395,398 > mi = e_menu_item_new(mn); > e_menu_item_label_set(mi, "Set Alarm"); > e_menu_item_submenu_set(mi, e->config_menu_alarm); > 524a650,651 > > int alarm_triggered = ef->bat->alarm_triggered; 648a776,792 > > if(charging) > { > edje_object_signal_emit(ef->bat_object, "pulsestop", ""); > ef->bat->alarm_triggered = 0; > } > else if(discharging && ((hours*60)+minutes) <= ef->bat->conf->alarm) > { > if( !(ef->bat->alarm_triggered)) > { > e_error_dialog_show("Battery Running Low", > "Your battery is running low.\n" > "You may wish to switch to an AC source."); > } > edje_object_signal_emit(ef->bat_object, "pulse", ""); > ef->bat->alarm_triggered = 1; > } 768c912,929 < } --- > > if( (hours*60+minutes) <= ef->bat->conf->alarm) > { > if( !(ef->bat->alarm_triggered)) > { > e_error_dialog_show("Battery Running Low", > "Your battery is running low.\n" > "You may wish to switch to an AC source."); > } > edje_object_signal_emit(ef->bat_object, "pulse", ""); > ef->bat->alarm_triggered = 1; > } > else > { > edje_object_signal_emit(ef->bat_object, "pulsestop", ""); > ef->bat->alarm_triggered = 0; > } > } Index: src/modules/battery/e_mod_main.h =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/battery/e_mod_main.h,v retrieving revision 1.3 diff -r1.3 e_mod_main.h 16a17 > int alarm; 21a23 > E_Menu *config_menu_alarm; 25a28 > int alarm_triggered;