Awesome! Thanks a lot!

On 02/28/2014 11:59 PM, Carsten Haitzler wrote:
> raster pushed a commit to branch master.
>
> http://git.enlightenment.org/core/enlightenment.git/commit/?id=5c8710ded38b0b70e9ff2548630116938757f1bc
>
> commit 5c8710ded38b0b70e9ff2548630116938757f1bc
> Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
> Date:   Sat Mar 1 08:04:09 2014 +0900
>
>      fix screen blanking while fullscreen window is up - work again
>      
>      @fix - this fixes T1019 - when a window is fullscreen the display just
>      NVER can blank no mater what. it's hrdcoded, and wrong to enforce. if
>      an app wants to display screensaver - there is the xscreensaver extn -
>      or maybe supporting an explicit property on a window would work
>      better, but just equating fullscreen == never blank is wrong. it's an
>      option now. off by default.
> ---
>   src/bin/e_config.c                                  |  1 +
>   src/bin/e_config.h                                  |  1 +
>   src/bin/e_dpms.c                                    |  9 +++++----
>   src/modules/conf_display/e_int_config_screensaver.c | 11 ++++++++++-
>   4 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/src/bin/e_config.c b/src/bin/e_config.c
> index 75b8817..3ea38d6 100644
> --- a/src/bin/e_config.c
> +++ b/src/bin/e_config.c
> @@ -597,6 +597,7 @@ _e_config_edd_init(Eina_Bool old)
>      E_CONFIG_VAL(D, T, dpms_standby_timeout, INT);
>      E_CONFIG_VAL(D, T, dpms_suspend_timeout, INT);
>      E_CONFIG_VAL(D, T, dpms_off_timeout, INT);
> +   E_CONFIG_VAL(D, T, no_dpms_on_fullscreen, UCHAR);
>   
>      E_CONFIG_VAL(D, T, clientlist_group_by, INT);
>      E_CONFIG_VAL(D, T, clientlist_include_all_zones, INT);
> diff --git a/src/bin/e_config.h b/src/bin/e_config.h
> index ccf4e56..a60fab9 100644
> --- a/src/bin/e_config.h
> +++ b/src/bin/e_config.h
> @@ -240,6 +240,7 @@ struct _E_Config
>      int                       dpms_suspend_timeout; // GUI
>      int                       dpms_off_enable; // GUI
>      int                       dpms_off_timeout; // GUI
> +   unsigned char             no_dpms_on_fullscreen; // GUI
>   
>      int                       clientlist_group_by; // GUI
>      int                       clientlist_include_all_zones; // GUI
> diff --git a/src/bin/e_dpms.c b/src/bin/e_dpms.c
> index 866c903..ab87ee9 100644
> --- a/src/bin/e_dpms.c
> +++ b/src/bin/e_dpms.c
> @@ -23,7 +23,8 @@ e_dpms_update(void)
>   
>      enabled = ((e_config->screensaver_enable) &&
>                 (!e_config->mode.presentation) &&
> -              (!e_util_fullscreen_current_any()));
> +              ((!e_util_fullscreen_current_any()) && 
> (!e_config->no_dpms_on_fullscreen))
> +             );
>      if (_e_dpms_enabled != enabled)
>        {
>           _e_dpms_enabled = enabled;
> @@ -88,21 +89,21 @@ _e_dpms_handler_config_mode_cb(void *data __UNUSED__, int 
> type __UNUSED__, void
>   static Eina_Bool
>   _e_dpms_handler_border_fullscreen_check_cb(void *data __UNUSED__, int type 
> __UNUSED__, void *event __UNUSED__)
>   {
> -   e_dpms_update();
> +   if (e_config->no_dpms_on_fullscreen) e_dpms_update();
>      return ECORE_CALLBACK_PASS_ON;
>   }
>   
>   static Eina_Bool
>   _e_dpms_handler_border_desk_set_cb(void *data __UNUSED__, int type 
> __UNUSED__, void *event __UNUSED__)
>   {
> -   e_dpms_update();
> +   if (e_config->no_dpms_on_fullscreen) e_dpms_update();
>      return ECORE_CALLBACK_PASS_ON;
>   }
>   
>   static Eina_Bool
>   _e_dpms_handler_desk_show_cb(void *data __UNUSED__, int type __UNUSED__, 
> void *event __UNUSED__)
>   {
> -   e_dpms_update();
> +   if (e_config->no_dpms_on_fullscreen) e_dpms_update();
>      return ECORE_CALLBACK_PASS_ON;
>   }
>   
> diff --git a/src/modules/conf_display/e_int_config_screensaver.c 
> b/src/modules/conf_display/e_int_config_screensaver.c
> index e963ac2..2198740 100644
> --- a/src/modules/conf_display/e_int_config_screensaver.c
> +++ b/src/modules/conf_display/e_int_config_screensaver.c
> @@ -30,6 +30,7 @@ struct _E_Config_Dialog_Data
>   
>      int wake_on_notify;
>      int wake_on_urgent;
> +   int no_dpms_on_fullscreen;
>   
>      struct
>        {
> @@ -73,6 +74,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
>   
>      cfdata->wake_on_notify = e_config->screensaver_wake_on_notify;
>      cfdata->wake_on_urgent = e_config->screensaver_wake_on_urgent;
> +   cfdata->no_dpms_on_fullscreen = e_config->no_dpms_on_fullscreen;
>   }
>   
>   static void *
> @@ -127,6 +129,8 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, 
> E_Config_Dialog_Data *cfdata)
>           e_config->dpms_off_timeout = e_config->screensaver_timeout;
>        }
>      
> +   e_config->no_dpms_on_fullscreen = cfdata->no_dpms_on_fullscreen;
> +
>      /* Apply settings */
>      e_screensaver_update();
>      e_dpms_update();
> @@ -146,7 +150,8 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, 
> E_Config_Dialog_Data *cfda
>          (e_config->screensaver_suspend_on_ac != 
> cfdata->screensaver_suspend_on_ac) ||
>          (e_config->screensaver_suspend_delay != 
> cfdata->screensaver_suspend_delay) ||
>          (e_config->screensaver_wake_on_notify != cfdata->wake_on_notify) ||
> -        (e_config->screensaver_wake_on_urgent != cfdata->wake_on_urgent)
> +        (e_config->screensaver_wake_on_urgent != cfdata->wake_on_urgent) ||
> +           (e_config->dpms_off_timeout != cfdata->no_dpms_on_fullscreen)
>       );
>   }
>   
> @@ -188,6 +193,10 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas 
> *evas, E_Config_Dialog_Data
>      e_widget_check_widget_disable_on_unchecked_add(oc, ow);
>      e_widget_list_object_append(ol, ow, 1, 1, 0.5);
>      
> +   oc = e_widget_check_add(evas, _("Disable blanking for Fullscreen 
> Windows"),
> +                           &(cfdata->no_dpms_on_fullscreen));
> +   e_widget_list_object_append(ol, oc, 1, 1, 0.5);
> +
>      e_widget_toolbook_page_append(otb, NULL, _("Blanking"), ol,
>                                    1, 0, 1, 0, 0.5, 0.0);
>   
>


------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to