[PATCH] xfree86: don't force the screensaver off on DPMS unblank, merely suggest it

Hans de Goede hdegoede at redhat.com
Thu Jul 10 03:43:47 PDT 2014


Hi,

On 07/10/2014 07:57 AM, Peter Hutterer wrote:
> Commit 41d4beb2616ceb3f1a1b8694733e85bae70de59a added symmetry to the
> screensaver/DPMS invocations so that one (en|dis)ables the other. Having
> dependencies between DPMS and the screensaver is subject to further arguments,
> but in this particular case using SCREENSAVER_FORCER is detrimental.
> SCREENSAVER_FORCER(ScreenSaverReset) resets the idle time for all
> devices on DPMS unblank.
> 
> It prevents at least one use-case that GNOME tries to implement:
> GNOME displays a notification before suspending. If the display is
> currently blanked, GNOME lights it up to display the message. With the
> original patch in place DPMS unblank also resets the device idle times, thus
> restarting the timeout ad infinitum.
> 
> Switch this to a more suggestive SCREENSAVER_OFF(ScreenSaverReset). This keeps
> the symmetry in blanking mode (DPMS and screensaver turn each other on/off as
> expected) but does not reset the idle time on the devices.
> 
> https://bugzilla.gnome.org/show_bug.cgi?id=731241
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

Seems sensible to me:

Reviewed-by: Hans de Goede <hdegoede at redhat.com>

Regards,

Hans

> ---
>  hw/xfree86/common/xf86DPMS.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/xfree86/common/xf86DPMS.c b/hw/xfree86/common/xf86DPMS.c
> index 14d1f45..2b5a3ed 100644
> --- a/hw/xfree86/common/xf86DPMS.c
> +++ b/hw/xfree86/common/xf86DPMS.c
> @@ -166,7 +166,7 @@ DPMSSet(ClientPtr client, int level)
>                  return rc;
>          }
>      } else if (!xf86IsUnblank(screenIsSaved)) {
> -        rc = dixSaveScreens(client, SCREEN_SAVER_FORCER, ScreenSaverReset);
> +        rc = dixSaveScreens(client, SCREEN_SAVER_OFF, ScreenSaverReset);
>          if (rc != Success)
>              return rc;
>      }
> 


More information about the xorg-devel mailing list