diff --git a/ChangeLog b/ChangeLog index d9f079249..075316882 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2013-01-14 Brian Miculcy + * Backlight, screenlock and screensaver don't check for fullscreen windows - we have presentation mode for that. + 2013-01-14 Mike Blumenkrantz * compositor now applies focus/urgency state to windows on first show diff --git a/NEWS b/NEWS index 17d7ea4fe..a3124c4a9 100644 --- a/NEWS +++ b/NEWS @@ -20,7 +20,6 @@ Additions: * Added e_comp namespace Config: * Added option for disabling icons in menus - * Added option for doing desklock, blanking or dimming even when showing fullscreen windows. * Added option for disabling pointer warping when performing directional focus changes using winlist * comp settings now uses the "e_comp" config domain * added options to disable comp effects on types of windows @@ -70,6 +69,7 @@ Improvements: * compositor now applies focus/urgency state to windows on first show Fixes: + * Backlight, screenlock and screensaver don't check for fullscreen windows - we have presentation mode for that. * Force check changed upon confirmation dialog closure for engine settings. * Clock date formats are now internationalizable. * Advanced pager settings check changed accounts for flip desktop on mouse wheel. diff --git a/src/bin/e_config.c b/src/bin/e_config.c index ae15e3ebd..86cb0e0e4 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -855,7 +855,6 @@ e_config_init(void) E_CONFIG_VAL(D, T, desk_auto_switch, INT); - E_CONFIG_VAL(D, T, screen_actions_fullscreen_windows_ignore, UCHAR); E_CONFIG_VAL(D, T, screen_limits, INT); E_CONFIG_VAL(D, T, thumb_nice, INT); @@ -1193,7 +1192,6 @@ e_config_load(void) E_CONFIG_LIMIT(e_config->remember_internal_fm_windows, 0, 1); E_CONFIG_LIMIT(e_config->desk_auto_switch, 0, 1); - E_CONFIG_LIMIT(e_config->screen_actions_fullscreen_windows_ignore, 0, 1); E_CONFIG_LIMIT(e_config->screen_limits, 0, 2); E_CONFIG_LIMIT(e_config->dpms_enable, 0, 1); diff --git a/src/bin/e_config.h b/src/bin/e_config.h index c54535b6f..b9b0fc2f9 100644 --- a/src/bin/e_config.h +++ b/src/bin/e_config.h @@ -260,7 +260,6 @@ struct _E_Config Eina_List *mime_icons; // GUI int desk_auto_switch; // GUI; - int screen_actions_fullscreen_windows_ignore; int screen_limits; int thumb_nice; diff --git a/src/bin/e_configure_option.c b/src/bin/e_configure_option.c index 9fef1957a..702491663 100644 --- a/src/bin/e_configure_option.c +++ b/src/bin/e_configure_option.c @@ -1894,8 +1894,6 @@ e_configure_option_init(void) OPT_ADD(BOOL, syscon.do_input, _("System Console performs default action after idle timeout"), _("syscon"), _("input")); //Eina_List *actions - OPT_ADD(BOOL, screen_actions_fullscreen_windows_ignore, _("Enable backlight dimming when fullscreen windows are open"), _("backlight"), _("fullscreen")); - co->funcs[1].none = co->funcs[0].none = _e_configure_dpms_changed; OPT_ADD(DOUBLE, backlight.normal, _("Backlight \"normal\" brightness"), _("backlight")); //slider OPT_MINMAX_STEP_FMT(0, 1.0, 0.01, "%1.2f"); co->funcs[0].none = _e_configure_dpms_changed; diff --git a/src/bin/e_desklock.c b/src/bin/e_desklock.c index bfa7e74a0..e3dd03fe2 100644 --- a/src/bin/e_desklock.c +++ b/src/bin/e_desklock.c @@ -200,9 +200,6 @@ _user_wallpaper_get(E_Zone *zone) EAPI int e_desklock_show_autolocked(void) { - if ((e_config->screen_actions_fullscreen_windows_ignore) || - ((!e_config->screen_actions_fullscreen_windows_ignore) && (!e_util_fullscreen_any()))) - return 0; if (_e_desklock_autolock_time < 1.0) _e_desklock_autolock_time = ecore_loop_time_get(); return e_desklock_show(EINA_FALSE); @@ -1192,9 +1189,7 @@ _e_desklock_cb_custom_desklock_exit(void *data __UNUSED__, int type __UNUSED__, static Eina_Bool _e_desklock_cb_idle_poller(void *data __UNUSED__) { - if ((e_config->desklock_autolock_idle) && (!e_config->mode.presentation) && - ((e_config->screen_actions_fullscreen_windows_ignore) || - ((!e_config->screen_actions_fullscreen_windows_ignore) && (!e_util_fullscreen_any())))) + if ((e_config->desklock_autolock_idle) && (!e_config->mode.presentation)) { double idle, max; diff --git a/src/bin/e_dpms.c b/src/bin/e_dpms.c index 8c0c07445..2544b75b2 100644 --- a/src/bin/e_dpms.c +++ b/src/bin/e_dpms.c @@ -63,8 +63,7 @@ e_dpms_force_update(void) int enabled; enabled = ((e_config->screensaver_enable) && - (!e_config->mode.presentation) && - (!e_util_fullscreen_current_any())); + (!e_config->mode.presentation)); ecore_x_dpms_enabled_set(enabled); if (!enabled) return; diff --git a/src/bin/e_screensaver.c b/src/bin/e_screensaver.c index fa85fb46f..9a05ab8b9 100644 --- a/src/bin/e_screensaver.c +++ b/src/bin/e_screensaver.c @@ -31,14 +31,10 @@ e_screensaver_timeout_get(Eina_Bool use_idle) { int timeout = 0, count = (1 + _e_screensaver_ask_presentation_count); - if ((e_config->screensaver_enable) && (!e_config->mode.presentation) && - ((e_config->screen_actions_fullscreen_windows_ignore) || - ((!e_config->screen_actions_fullscreen_windows_ignore) && (!e_util_fullscreen_any())))) + if ((e_config->screensaver_enable) && (!e_config->mode.presentation)) timeout = e_config->screensaver_timeout * count; - if ((use_idle) && (!e_config->mode.presentation) && - ((e_config->screen_actions_fullscreen_windows_ignore) || - ((!e_config->screen_actions_fullscreen_windows_ignore) && (!e_util_fullscreen_any())))) + if ((use_idle) && (!e_config->mode.presentation)) { if (e_config->backlight.idle_dim) { diff --git a/src/modules/conf_display/e_int_config_desklock.c b/src/modules/conf_display/e_int_config_desklock.c index 699dc80b8..f6b85f10d 100644 --- a/src/modules/conf_display/e_int_config_desklock.c +++ b/src/modules/conf_display/e_int_config_desklock.c @@ -45,7 +45,6 @@ struct _E_Config_Dialog_Data int bg_method_prev; Eina_List *bgs; int custom_lock; - int fullscreen_windows_ignore; int ask_presentation; double ask_presentation_timeout; @@ -151,7 +150,6 @@ _fill_data(E_Config_Dialog_Data *cfdata) cfdata->zone = 0; } - cfdata->fullscreen_windows_ignore = e_config->screen_actions_fullscreen_windows_ignore; cfdata->ask_presentation = e_config->desklock_ask_presentation; cfdata->ask_presentation_timeout = e_config->desklock_ask_presentation_timeout; @@ -335,9 +333,6 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data /* Presentation */ ol = e_widget_list_add(evas, 0, 0); - ow = e_widget_check_add(evas, _("Lock even on fullscreen windows"), - &(cfdata->fullscreen_windows_ignore)); - e_widget_list_object_append(ol, ow, 1, 1, 0.5); ow = e_widget_check_add(evas, _("Suggest if deactivated before"), &(cfdata->ask_presentation)); e_widget_on_change_hook_set(ow, _cb_ask_presentation_changed, cfdata); @@ -412,7 +407,6 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) e_config->desklock_post_screensaver_time = cfdata->post_screensaver_time; e_config->desklock_autolock_screensaver = cfdata->screensaver_lock; e_config->desklock_autolock_idle_timeout = (cfdata->idle_time * 60); - e_config->screen_actions_fullscreen_windows_ignore = cfdata->fullscreen_windows_ignore; e_config->desklock_ask_presentation = cfdata->ask_presentation; e_config->desklock_ask_presentation_timeout = cfdata->ask_presentation_timeout; if (e_config->xkb.desklock_layout != cfdata->desklock_layout) @@ -523,8 +517,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda else if (e_config->desklock_custom_desklock_cmd != cfdata->custom_lock_cmd) return 1; - return (e_config->screen_actions_fullscreen_windows_ignore != cfdata->fullscreen_windows_ignore) || - (e_config->desklock_ask_presentation != cfdata->ask_presentation) || + return (e_config->desklock_ask_presentation != cfdata->ask_presentation) || (e_config->desklock_ask_presentation_timeout != cfdata->ask_presentation_timeout); } diff --git a/src/modules/conf_display/e_int_config_dpms.c b/src/modules/conf_display/e_int_config_dpms.c index 3e6205d8d..f7625807f 100644 --- a/src/modules/conf_display/e_int_config_dpms.c +++ b/src/modules/conf_display/e_int_config_dpms.c @@ -6,6 +6,8 @@ static int _advanced_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data * static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); +static void _cb_disable(void *data, Evas_Object *obj); +static void _cb_ask_presentation_changed(void *data, Evas_Object *obj); struct _E_Config_Dialog_Data { @@ -23,9 +25,15 @@ struct _E_Config_Dialog_Data double backlight_timeout; double backlight_transition; - int fullscreen_windows_ignore; int ask_presentation; double ask_presentation_timeout; + + Eina_List *disable_list; + + struct + { + Evas_Object *ask_presentation_slider; + } gui; }; E_Config_Dialog * @@ -61,7 +69,6 @@ _fill_data(E_Config_Dialog_Data *cfdata) cfdata->enable_idle_dim = e_config->backlight.idle_dim; cfdata->backlight_timeout = e_config->backlight.timer; cfdata->ask_presentation = e_config->screensaver_ask_presentation; - cfdata->fullscreen_windows_ignore = e_config->screen_actions_fullscreen_windows_ignore; cfdata->ask_presentation_timeout = e_config->screensaver_ask_presentation_timeout; } @@ -92,7 +99,6 @@ _apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) e_config->backlight.timer = lround(cfdata->backlight_timeout); e_config->backlight.idle_dim = cfdata->enable_idle_dim; e_config->screensaver_ask_presentation = cfdata->ask_presentation; - e_config->screen_actions_fullscreen_windows_ignore = cfdata->fullscreen_windows_ignore; e_config->screensaver_ask_presentation_timeout = cfdata->ask_presentation_timeout; e_backlight_mode_set(NULL, E_BACKLIGHT_MODE_NORMAL); @@ -127,7 +133,6 @@ _advanced_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *c (e_config->backlight.timer != cfdata->backlight_timeout) || (e_config->backlight.idle_dim != cfdata->enable_idle_dim) || (e_config->screensaver_ask_presentation != cfdata->ask_presentation) || - (e_config->screen_actions_fullscreen_windows_ignore != cfdata->fullscreen_windows_ignore) || (e_config->screensaver_ask_presentation_timeout != cfdata->ask_presentation_timeout); } @@ -180,6 +185,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_D e_widget_list_object_append(o, ob, 1, 1, 0.5); ob = e_widget_check_add(evas, _("Idle Fade Time"), &(cfdata->enable_idle_dim)); + e_widget_on_change_hook_set(ob, _cb_disable, cfdata); e_widget_list_object_append(o, ob, 1, 1, 0.5); ob = e_widget_slider_add(evas, 1, 0, _("%1.0f second(s)"), 5.0, 300.0, 1.0, 0, &(cfdata->backlight_timeout), NULL, 100); @@ -221,13 +227,10 @@ _advanced_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_D e_widget_toolbook_page_append(otb, NULL, _("Dimming"), o, 1, 0, 1, 0, 0.5, 0.0); + // FIXME: Disabled until someone want's to cleanup that screensaver code... /* Presentation */ + /* o = e_widget_list_add(evas, 0, 0); - ob = e_widget_check_add(evas, _("Idle dimming even on fullscreen windows"), - &(cfdata->fullscreen_windows_ignore)); - e_widget_list_object_append(o, ob, 1, 1, 0.5); -/* - // FIXME: Do the same as on screen blanking or locking. ob = e_widget_check_add(evas, _("Suggest if deactivated before"), &(cfdata->ask_presentation)); e_widget_on_change_hook_set(ob, _cb_ask_presentation_changed, cfdata); @@ -239,11 +242,39 @@ _advanced_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_D cfdata->gui.ask_presentation_slider = ob; cfdata->disable_list = eina_list_append(cfdata->disable_list, ob); e_widget_list_object_append(o, ob, 1, 1, 0.5); -*/ e_widget_toolbook_page_append(otb, NULL, _("Presentation"), o, 1, 0, 1, 0, 0.5, 0.0); + */ e_widget_toolbook_page_show(otb, 0); + // handler for enable/disable widget array + _cb_disable(cfdata, NULL); + return otb; } + +static void +_cb_disable(void *data, Evas_Object *obj __UNUSED__) +{ + E_Config_Dialog_Data *cfdata; + const Eina_List *l; + Evas_Object *o; + + if (!(cfdata = data)) return; + EINA_LIST_FOREACH(cfdata->disable_list, l, o) + e_widget_disabled_set(o, !cfdata->enable_idle_dim); + + _cb_ask_presentation_changed(cfdata, NULL); +} + +static void +_cb_ask_presentation_changed(void *data, Evas_Object *obj __UNUSED__) +{ + E_Config_Dialog_Data *cfdata; + Eina_Bool disable; + + if (!(cfdata = data)) return; + disable = ((!cfdata->enable_idle_dim) || (!cfdata->ask_presentation)); + e_widget_disabled_set(cfdata->gui.ask_presentation_slider, disable); +} diff --git a/src/modules/conf_display/e_int_config_screensaver.c b/src/modules/conf_display/e_int_config_screensaver.c index da17e20f8..5466e43d2 100644 --- a/src/modules/conf_display/e_int_config_screensaver.c +++ b/src/modules/conf_display/e_int_config_screensaver.c @@ -22,7 +22,6 @@ struct _E_Config_Dialog_Data int enable_screensaver; double timeout; - int fullscreen_windows_ignore; int ask_presentation; double ask_presentation_timeout; @@ -67,7 +66,6 @@ _fill_data(E_Config_Dialog_Data *cfdata) cfdata->enable_screensaver = e_config->screensaver_enable; cfdata->timeout = (double)e_config->screensaver_timeout / 60.0; cfdata->ask_presentation = e_config->screensaver_ask_presentation; - cfdata->fullscreen_windows_ignore = e_config->screen_actions_fullscreen_windows_ignore; cfdata->ask_presentation_timeout = e_config->screensaver_ask_presentation_timeout; cfdata->screensaver_suspend = e_config->screensaver_suspend; cfdata->screensaver_suspend_on_ac = e_config->screensaver_suspend_on_ac; @@ -98,7 +96,6 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) e_config->screensaver_enable = cfdata->enable_screensaver; e_config->screensaver_timeout = lround(cfdata->timeout * 60.0); e_config->screensaver_ask_presentation = cfdata->ask_presentation; - e_config->screen_actions_fullscreen_windows_ignore = cfdata->fullscreen_windows_ignore; e_config->screensaver_ask_presentation_timeout = cfdata->ask_presentation_timeout; e_config->screensaver_suspend = cfdata->screensaver_suspend; e_config->screensaver_suspend_on_ac = cfdata->screensaver_suspend_on_ac; @@ -139,7 +136,6 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda return ((e_config->screensaver_enable != cfdata->enable_screensaver) || (e_config->screensaver_timeout != lround(cfdata->timeout * 60.0)) || (e_config->screensaver_ask_presentation != cfdata->ask_presentation) || - (e_config->screen_actions_fullscreen_windows_ignore != cfdata->fullscreen_windows_ignore) || (e_config->screensaver_ask_presentation_timeout != cfdata->ask_presentation_timeout) || (e_config->screensaver_suspend != cfdata->screensaver_suspend) || (e_config->screensaver_suspend_on_ac != cfdata->screensaver_suspend_on_ac) || @@ -189,9 +185,6 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data 1, 0, 1, 0, 0.5, 0.0); /* Presentation */ ol = e_widget_list_add(evas, 0, 0); - ow = e_widget_check_add(evas, _("Blanking even on fullscreen windows"), - &(cfdata->fullscreen_windows_ignore)); - e_widget_list_object_append(ol, ow, 1, 1, 0.5); ow = e_widget_check_add(evas, _("Suggest if deactivated before"), &(cfdata->ask_presentation)); e_widget_on_change_hook_set(ow, _cb_ask_presentation_changed, cfdata);