forked from enlightenment/enlightenment
backlight - add battery timeout in addition to regular dim timeout
this allows for a shorter timeout when on battery vs when on ac for backlight dimming. this is actually important so when on ac dimming can interrupt minimally bur when on battery it can be much more aggressive.
This commit is contained in:
parent
b8afba1e49
commit
1783c32839
|
@ -202,8 +202,9 @@ group "E_Config" struct {
|
|||
value "backlight.normal" double: 1.0
|
||||
value "backlight.dim" double: 0.3;
|
||||
value "backlight.transition" double: 0.5;
|
||||
value "backlight.timer" double: 1.0;
|
||||
value "backlight.idle_dim" uchar: 0;
|
||||
value "backlight.timer" double: 30.0;
|
||||
value "backlight.battery_timer" double: 20.0;
|
||||
value "backlight.idle_dim" uchar: 1;
|
||||
value "device_desktop" int: 0;
|
||||
value "device_auto_mount" int: 0;
|
||||
value "device_auto_open" int: 0;
|
||||
|
|
|
@ -193,8 +193,9 @@ group "E_Config" struct {
|
|||
value "backlight.normal" double: 1.0
|
||||
value "backlight.dim" double: 0.3;
|
||||
value "backlight.transition" double: 0.5;
|
||||
value "backlight.timer" double: 1.0;
|
||||
value "backlight.idle_dim" uchar: 0;
|
||||
value "backlight.timer" double: 30.0;
|
||||
value "backlight.battery_timer" double: 20.0;
|
||||
value "backlight.idle_dim" uchar: 1;
|
||||
value "deskenv.load_xrdb" uchar: 1;
|
||||
value "deskenv.load_xmodmap" uchar: 1;
|
||||
value "deskenv.load_gnome" uchar: 0;
|
||||
|
|
|
@ -193,6 +193,9 @@ group "E_Config" struct {
|
|||
value "backlight.normal" double: 1.0;
|
||||
value "backlight.dim" double: 0.3;
|
||||
value "backlight.transition" double: 0.5;
|
||||
value "backlight.timer" double: 30.0;
|
||||
value "backlight.battery_timer" double: 20.0;
|
||||
value "backlight.idle_dim" uchar: 1;
|
||||
value "deskenv.load_xrdb" uchar: 1;
|
||||
value "deskenv.load_xmodmap" uchar: 1;
|
||||
value "deskenv.load_gnome" uchar: 0;
|
||||
|
|
|
@ -739,6 +739,7 @@ _e_config_edd_init(Eina_Bool old)
|
|||
E_CONFIG_VAL(D, T, backlight.dim, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, backlight.transition, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, backlight.timer, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, backlight.battery_timer, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, backlight.sysdev, STR);
|
||||
E_CONFIG_VAL(D, T, backlight.idle_dim, UCHAR);
|
||||
|
||||
|
|
|
@ -369,6 +369,7 @@ struct _E_Config
|
|||
double dim; // GUI
|
||||
double transition; // GUI
|
||||
double timer; // GUI
|
||||
double battery_timer; // GUI
|
||||
const char *sysdev; // GUI
|
||||
unsigned char idle_dim; // GUI
|
||||
E_Backlight_Mode mode; /* not saved, display-only */
|
||||
|
|
|
@ -71,13 +71,16 @@ e_screensaver_timeout_get(Eina_Bool use_idle)
|
|||
{
|
||||
if (e_config->backlight.idle_dim)
|
||||
{
|
||||
double t2 = e_config->backlight.timer;
|
||||
|
||||
if ((e_powersave_mode_get() > E_POWERSAVE_MODE_LOW) &&
|
||||
(e_config->backlight.battery_timer > 0.0))
|
||||
t2 = e_config->backlight.battery_timer;
|
||||
if (timeout > 0)
|
||||
{
|
||||
if (e_config->backlight.timer < timeout)
|
||||
timeout = e_config->backlight.timer;
|
||||
if (t2 < timeout) timeout = t2;
|
||||
}
|
||||
else
|
||||
timeout = e_config->backlight.timer;
|
||||
else timeout = t2;
|
||||
}
|
||||
}
|
||||
return timeout;
|
||||
|
@ -568,8 +571,12 @@ e_screensaver_eval(Eina_Bool saver_on)
|
|||
if ((e_config->backlight.idle_dim) &&
|
||||
(!use_special_instead_of_dim))
|
||||
{
|
||||
double t = e_config->screensaver_timeout -
|
||||
e_config->backlight.timer;
|
||||
double t2 = e_config->backlight.timer;
|
||||
|
||||
if ((e_powersave_mode_get() > E_POWERSAVE_MODE_LOW) &&
|
||||
(e_config->backlight.battery_timer > 0.0))
|
||||
t2 = e_config->backlight.battery_timer;
|
||||
double t = e_config->screensaver_timeout - t2;
|
||||
|
||||
if (t < 1.0) t = 1.0;
|
||||
if (_screensaver_now) t = 1.0;
|
||||
|
|
|
@ -14,6 +14,8 @@ struct _E_Config_Dialog_Data
|
|||
E_Config_Dialog *cfd;
|
||||
|
||||
Evas_Object *backlight_slider_idle;
|
||||
Evas_Object *backlight_battery_slider_idle;
|
||||
Evas_Object *backlight_battery_label;
|
||||
Evas_Object *backlight_slider_fade;
|
||||
|
||||
char *bl_dev;
|
||||
|
@ -23,6 +25,7 @@ struct _E_Config_Dialog_Data
|
|||
double backlight_normal;
|
||||
double backlight_dim;
|
||||
double backlight_timeout;
|
||||
double backlight_battery_timeout;
|
||||
double backlight_transition;
|
||||
|
||||
int ask_presentation;
|
||||
|
@ -68,6 +71,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
cfdata->backlight_transition = e_config->backlight.transition;
|
||||
cfdata->enable_idle_dim = e_config->backlight.idle_dim;
|
||||
cfdata->backlight_timeout = e_config->backlight.timer;
|
||||
cfdata->backlight_battery_timeout = e_config->backlight.battery_timer;
|
||||
cfdata->ask_presentation = e_config->screensaver_ask_presentation;
|
||||
cfdata->ask_presentation_timeout = e_config->screensaver_ask_presentation_timeout;
|
||||
}
|
||||
|
@ -97,6 +101,7 @@ _apply_data(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
|
|||
e_config->backlight.dim = cfdata->backlight_dim / 100.0;
|
||||
e_config->backlight.transition = cfdata->backlight_transition;
|
||||
e_config->backlight.timer = lround(cfdata->backlight_timeout);
|
||||
e_config->backlight.battery_timer = lround(cfdata->backlight_battery_timeout);
|
||||
e_config->backlight.idle_dim = cfdata->enable_idle_dim;
|
||||
e_config->screensaver_ask_presentation = cfdata->ask_presentation;
|
||||
e_config->screensaver_ask_presentation_timeout = cfdata->ask_presentation_timeout;
|
||||
|
@ -125,12 +130,15 @@ _advanced_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *
|
|||
{
|
||||
// set state from saved config
|
||||
e_widget_disabled_set(cfdata->backlight_slider_idle, !cfdata->enable_idle_dim);
|
||||
e_widget_disabled_set(cfdata->backlight_battery_slider_idle, !cfdata->enable_idle_dim);
|
||||
e_widget_disabled_set(cfdata->backlight_battery_label, !cfdata->enable_idle_dim);
|
||||
e_widget_disabled_set(cfdata->backlight_slider_fade, !cfdata->enable_idle_dim);
|
||||
|
||||
return (!EINA_DBL_EQ(e_config->backlight.normal * 100.0, cfdata->backlight_normal)) ||
|
||||
(!EINA_DBL_EQ(e_config->backlight.dim * 100.0, cfdata->backlight_dim)) ||
|
||||
(!EINA_DBL_EQ(e_config->backlight.transition, cfdata->backlight_transition)) ||
|
||||
(!EINA_DBL_EQ(e_config->backlight.timer, cfdata->backlight_timeout)) ||
|
||||
(!EINA_DBL_EQ(e_config->backlight.battery_timer, cfdata->backlight_battery_timeout)) ||
|
||||
(e_config->backlight.idle_dim != cfdata->enable_idle_dim) ||
|
||||
(e_config->screensaver_ask_presentation != cfdata->ask_presentation) ||
|
||||
(!EINA_DBL_EQ(e_config->screensaver_ask_presentation_timeout, cfdata->ask_presentation_timeout));
|
||||
|
@ -192,6 +200,15 @@ _advanced_create_widgets(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_
|
|||
cfdata->backlight_slider_idle = ob;
|
||||
e_widget_disabled_set(ob, !cfdata->enable_idle_dim); // set state from saved config
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
ob = e_widget_label_add(evas, _("Fade Time on Battery"));
|
||||
cfdata->backlight_battery_label = ob;
|
||||
e_widget_disabled_set(ob, !cfdata->enable_idle_dim); // set state from saved config
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f second(s)"), 0.0, 300.0, 1.0, 0,
|
||||
&(cfdata->backlight_battery_timeout), NULL, 100);
|
||||
cfdata->backlight_battery_slider_idle = ob;
|
||||
e_widget_disabled_set(ob, !cfdata->enable_idle_dim); // set state from saved config
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
|
||||
ob = e_widget_label_add(evas, _("Fade Time"));
|
||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||
|
|
Loading…
Reference in New Issue