diff --git a/src/bin/e_main.c b/src/bin/e_main.c index e70c4e6f8..69de659c9 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -713,14 +713,6 @@ main(int argc, char **argv) if (e_config->show_splash) e_init_status_set(_("Setup Screensaver")); - TS("E_Screensaver Init"); - if (!e_screensaver_init()) - { - e_error_message_show(_("Enlightenment cannot configure the X screensaver.\n")); - _e_main_shutdown(-1); - } - TS("E_Screensaver Init Done"); - _e_main_shutdown_push(e_screensaver_shutdown); if (e_config->show_splash) e_init_status_set(_("Setup Screens")); @@ -1609,6 +1601,8 @@ _e_main_screens_init(void) { TS("\tscreens: client"); if (!e_client_init()) return 0; + TS("E_Screensaver Init"); + if (!e_screensaver_init()) return 0; TS("\tscreens: client volume"); if (!e_client_volume_init()) return 0; TS("\tscreens: win"); @@ -1646,6 +1640,7 @@ _e_main_screens_shutdown(void) e_shelf_shutdown(); e_comp_shutdown(); e_client_volume_shutdown(); + e_screensaver_shutdown(); e_client_shutdown(); e_exehist_shutdown(); e_backlight_shutdown(); diff --git a/src/bin/e_screensaver.c b/src/bin/e_screensaver.c index c248a4983..2db7b947a 100644 --- a/src/bin/e_screensaver.c +++ b/src/bin/e_screensaver.c @@ -75,6 +75,12 @@ e_screensaver_update(void) Eina_Bool changed = EINA_FALSE; timeout = e_screensaver_timeout_get(EINA_TRUE); + if (!((e_config->screensaver_enable) && + (!e_config->mode.presentation) && + (!((e_util_fullscreen_current_any()) && + (e_config->no_dpms_on_fullscreen))))) + timeout = 0; + if (_e_screensaver_timeout != timeout) { _e_screensaver_timeout = timeout;