dpms, screensaver and desklock now respect "presentation" mode.

Wow, no need to go to "Settings" and then 3 dialogs to do my presentations!


SVN revision: 40381
This commit is contained in:
Gustavo Sverzut Barbieri 2009-04-25 16:49:53 +00:00
parent b413d6a5e3
commit d2be2c99a7
3 changed files with 36 additions and 7 deletions

View File

@ -865,7 +865,7 @@ _e_desklock_cb_custom_desklock_exit(void *data, int type, void *event)
static int static int
_e_desklock_cb_idle_poller(void *data) _e_desklock_cb_idle_poller(void *data)
{ {
if (e_config->desklock_autolock_idle) if ((e_config->desklock_autolock_idle) && (!e_config->mode.presentation))
{ {
/* If a desklock is already up, bail */ /* If a desklock is already up, bail */
if ((_e_custom_desklock_exe) || (edd)) return 1; if ((_e_custom_desklock_exe) || (edd)) return 1;

View File

@ -3,12 +3,28 @@
*/ */
#include "e.h" #include "e.h"
static Ecore_Event_Handler *_e_dpms_handler_config_mode = NULL;
static int
_e_dpms_handler_config_mode_cb(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
{
e_dpms_init();
return 1;
}
EAPI int EAPI int
e_dpms_init(void) e_dpms_init(void)
{ {
int standby=0, suspend=0, off=0; int standby=0, suspend=0, off=0;
int enabled = ((e_config->dpms_enable) && (!e_config->mode.presentation));
ecore_x_dpms_enabled_set(e_config->dpms_enable); if (!_e_dpms_handler_config_mode)
_e_dpms_handler_config_mode = ecore_event_handler_add
(E_EVENT_CONFIG_MODE_CHANGED, _e_dpms_handler_config_mode_cb, NULL);
ecore_x_dpms_enabled_set(enabled);
if (!enabled)
return 1;
if (e_config->dpms_standby_enable) if (e_config->dpms_standby_enable)
standby = e_config->dpms_standby_timeout; standby = e_config->dpms_standby_timeout;

View File

@ -3,12 +3,25 @@
*/ */
#include "e.h" #include "e.h"
static Ecore_Event_Handler *_e_screensaver_handler_config_mode = NULL;
static int
_e_screensaver_handler_config_mode_cb(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
{
e_screensaver_init();
return 1;
}
EAPI int EAPI int
e_screensaver_init(void) e_screensaver_init(void)
{ {
int timeout=0, interval=0, blanking=0, expose=0; int timeout=0, interval=0, blanking=0, expose=0;
if (e_config->screensaver_enable) if (!_e_screensaver_handler_config_mode)
_e_screensaver_handler_config_mode = ecore_event_handler_add
(E_EVENT_CONFIG_MODE_CHANGED, _e_screensaver_handler_config_mode_cb, NULL);
if ((e_config->screensaver_enable) && (!e_config->mode.presentation))
timeout = e_config->screensaver_timeout; timeout = e_config->screensaver_timeout;
interval = e_config->screensaver_interval; interval = e_config->screensaver_interval;