summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-05-21 21:57:05 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-05-21 22:07:06 +0900
commit0bf55848abe19088b7546f8161d1b85e3a864ba2 (patch)
treeaa723ef0248a28d00dc77ca731db3e7f88de38cf
parent89664c894e3c49c0204cb6f485406f0dec26a627 (diff)
downloadenlightenment-0bf55848abe19088b7546f8161d1b85e3a864ba2.tar.gz
add option to not fade backlight on suspend/resume/reboot/shutdown/logout etc. to keep backlight untouched.
-rw-r--r--src/bin/e_comp.c26
-rw-r--r--src/bin/e_comp_cfdata.c2
-rw-r--r--src/bin/e_comp_cfdata.h1
-rw-r--r--src/modules/conf_comp/e_mod_config.c8
4 files changed, 27 insertions, 10 deletions
diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 007032eca2..28939078a2 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -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"));
diff --git a/src/bin/e_comp_cfdata.c b/src/bin/e_comp_cfdata.c
index 635bc0c049..99fffe6784 100644
--- a/src/bin/e_comp_cfdata.c
+++ b/src/bin/e_comp_cfdata.c
@@ -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;
diff --git a/src/bin/e_comp_cfdata.h b/src/bin/e_comp_cfdata.h
index 19c2f3362f..79ee038539 100644
--- a/src/bin/e_comp_cfdata.h
+++ b/src/bin/e_comp_cfdata.h
@@ -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
diff --git a/src/modules/conf_comp/e_mod_config.c b/src/modules/conf_comp/e_mod_config.c
index 12e640aa39..6ab265ce0f 100644
--- a/src/modules/conf_comp/e_mod_config.c
+++ b/src/modules/conf_comp/e_mod_config.c
@@ -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));