add option to not fade backlight on suspend/resume/reboot/shutdown/logout etc. to keep backlight untouched.

This commit is contained in:
Carsten Haitzler 2013-05-21 21:57:05 +09:00
parent 89664c894e
commit 0bf55848ab
4 changed files with 27 additions and 10 deletions

View File

@ -3240,7 +3240,7 @@ _e_comp_fade_handle(E_Comp_Zone *cz, int out, double tim)
{
if (out == 1)
{
if (e_backlight_exists())
if ((e_backlight_exists()) && (!conf->nofade))
{
e_backlight_update();
cz->bloff = EINA_TRUE;
@ -3250,7 +3250,7 @@ _e_comp_fade_handle(E_Comp_Zone *cz, int out, double tim)
}
else
{
if (e_backlight_exists())
if ((e_backlight_exists()) && (!conf->nofade))
{
cz->bloff = EINA_FALSE;
e_backlight_update();
@ -3326,9 +3326,12 @@ _e_comp_screens_eval(E_Comp *c)
evas_object_del(cz->over);
if (cz->bloff)
{
if (e_backlight_mode_get(cz->zone) != E_BACKLIGHT_MODE_NORMAL)
e_backlight_mode_set(cz->zone, E_BACKLIGHT_MODE_NORMAL);
e_backlight_level_set(cz->zone, e_config->backlight.normal, 0.0);
if (!conf->nofade)
{
if (e_backlight_mode_get(cz->zone) != E_BACKLIGHT_MODE_NORMAL)
e_backlight_mode_set(cz->zone, E_BACKLIGHT_MODE_NORMAL);
e_backlight_level_set(cz->zone, e_config->backlight.normal, 0.0);
}
}
if (cz->zone) cz->zone->comp_zone = NULL;
free(cz);
@ -4321,11 +4324,14 @@ _e_comp_del(E_Comp *c)
if (cz->zone) cz->zone->comp_zone = NULL;
evas_object_del(cz->base);
evas_object_del(cz->over);
if (cz->bloff)
if (!conf->nofade)
{
if (e_backlight_mode_get(cz->zone) != E_BACKLIGHT_MODE_NORMAL)
e_backlight_mode_set(cz->zone, E_BACKLIGHT_MODE_NORMAL);
e_backlight_level_set(cz->zone, e_config->backlight.normal, 0.0);
if (cz->bloff)
{
if (e_backlight_mode_get(cz->zone) != E_BACKLIGHT_MODE_NORMAL)
e_backlight_mode_set(cz->zone, E_BACKLIGHT_MODE_NORMAL);
e_backlight_level_set(cz->zone, e_config->backlight.normal, 0.0);
}
}
free(cz);
}
@ -4725,6 +4731,8 @@ _e_comp_cfg_init(void)
E_CONFIGURE_OPTION_ADD(co, BOOL, nocomp_fs, conf, _("Don't composite fullscreen windows"), _("composite"), _("border"));
co->funcs[1].none = co->funcs[0].none = e_comp_shadows_reset;
E_CONFIGURE_OPTION_ADD(co, BOOL, nofade, conf, _("Don't fade backlight"), _("composite"), _("border"));
co->funcs[1].none = co->funcs[0].none = e_comp_shadows_reset;
E_CONFIGURE_OPTION_ADD(co, BOOL, send_flush, conf, _("Send flush when compositing windows"), _("composite"), _("border"));
co->funcs[1].none = co->funcs[0].none = e_comp_shadows_reset;
E_CONFIGURE_OPTION_ADD(co, BOOL, send_dump, conf, _("Send dump when compositing windows"), _("composite"), _("border"));

View File

@ -52,6 +52,7 @@ e_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd)
E_CONFIG_VAL(D, T, send_flush, UCHAR);
E_CONFIG_VAL(D, T, send_dump, UCHAR);
E_CONFIG_VAL(D, T, nocomp_fs, UCHAR);
E_CONFIG_VAL(D, T, nofade, UCHAR);
E_CONFIG_VAL(D, T, smooth_windows, UCHAR);
E_CONFIG_VAL(D, T, first_draw_delay, DOUBLE);
E_CONFIG_VAL(D, T, disable_screen_effects, UCHAR);
@ -102,6 +103,7 @@ e_comp_cfdata_config_new(void)
cfg->send_flush = 1; // implement
cfg->send_dump = 1; // implement
cfg->nocomp_fs = 1;
cfg->nofade = 0;
cfg->smooth_windows = 0; // 1 if gl, 0 if not
cfg->first_draw_delay = 0.15;

View File

@ -27,6 +27,7 @@ struct _E_Comp_Config
unsigned char send_dump;
unsigned char nocomp_fs;
unsigned char smooth_windows;
unsigned char nofade;
double first_draw_delay;
Eina_Bool disable_screen_effects;
// the following options add the "/fast" suffix to the normal groups

View File

@ -36,6 +36,7 @@ struct _E_Config_Dialog_Data
int send_flush;
int send_dump;
int nocomp_fs;
int nofade;
int fps_show;
int fps_corner;
@ -135,6 +136,7 @@ _create_data(E_Config_Dialog *cfd EINA_UNUSED)
cfdata->send_flush = _comp_mod->conf->send_flush;
cfdata->send_dump = _comp_mod->conf->send_dump;
cfdata->nocomp_fs = _comp_mod->conf->nocomp_fs;
cfdata->nofade = _comp_mod->conf->nofade;
cfdata->fps_show = _comp_mod->conf->fps_show;
cfdata->fps_corner = _comp_mod->conf->fps_corner;
@ -313,6 +315,8 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
e_widget_list_object_append(ol, ob, 1, 1, 0.5);
ob = e_widget_check_add(evas, _("Don't composite fullscreen windows"), &(cfdata->nocomp_fs));
e_widget_list_object_append(ol, ob, 1, 1, 0.5);
ob = e_widget_check_add(evas, _("Don't fade backlight"), &(cfdata->nofade));
e_widget_list_object_append(ol, ob, 1, 1, 0.5);
/*
ob = e_widget_check_add(evas, _("Keep hidden windows"), &(cfdata->keep_unmapped));
e_widget_list_object_append(ol, ob, 1, 1, 0.5);
@ -428,6 +432,7 @@ _advanced_apply_data(E_Config_Dialog *cfd __UNUSED__,
(cfdata->grab != _comp_mod->conf->grab) ||
(cfdata->keep_unmapped != _comp_mod->conf->keep_unmapped) ||
(cfdata->nocomp_fs != _comp_mod->conf->nocomp_fs) ||
(cfdata->nofade != _comp_mod->conf->nofade) ||
(cfdata->shadow_style != _comp_mod->conf->shadow_style) ||
(cfdata->max_unmapped_pixels != _comp_mod->conf->max_unmapped_pixels) ||
(cfdata->max_unmapped_time != _comp_mod->conf->max_unmapped_time) ||
@ -467,6 +472,7 @@ _advanced_apply_data(E_Config_Dialog *cfd __UNUSED__,
_comp_mod->conf->grab = cfdata->grab;
_comp_mod->conf->keep_unmapped = cfdata->keep_unmapped;
_comp_mod->conf->nocomp_fs = cfdata->nocomp_fs;
_comp_mod->conf->nofade = cfdata->nofade;
_comp_mod->conf->max_unmapped_pixels = cfdata->max_unmapped_pixels;
_comp_mod->conf->max_unmapped_time = cfdata->max_unmapped_time;
_comp_mod->conf->min_unmapped_time = cfdata->min_unmapped_time;
@ -548,7 +554,7 @@ _basic_create_widgets(E_Config_Dialog *cfd EINA_UNUSED,
ob = e_widget_check_add(evas, _("Don't composite fullscreen windows"), &(cfdata->nocomp_fs));
e_widget_list_object_append(ol, ob, 1, 0, 0.5);
cfdata->fast =
(cfdata->fast_menus && cfdata->fast_menus && cfdata->fast_borders && cfdata->fast_popups && cfdata->fast_objects);
cfdata->fast_ob = ob = e_widget_check_add(evas, _("Enable \"fast\" composite effects"), &(cfdata->fast));