Backlight, screenlock and screensaver don't check for fullscreen windows - we have presentation mode for that.

SVN revision: 82772
This commit is contained in:
Miculcy Brian 2013-01-14 17:26:13 +00:00
parent c088474ba6
commit 9d781fa8ac
11 changed files with 50 additions and 45 deletions

View File

@ -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

2
NEWS
View File

@ -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.

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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)
{

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);