From defbb2a54509308c11c029e637353cf75c94019b Mon Sep 17 00:00:00 2001 From: reimar Date: Sat, 22 Dec 2007 11:09:43 +0000 Subject: Add support for XScreenSaverSuspend git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25494 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/x11_common.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'libvo') diff --git a/libvo/x11_common.c b/libvo/x11_common.c index 5917c9605f..6520dfb95b 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -1702,6 +1702,22 @@ static void xscreensaver_enable(void) xs_windowid = 0; } +static int xss_suspend(Bool suspend) +{ +#ifndef HAVE_XSS + return 0; +#else + int event, error, major, minor; + if (XScreenSaverQueryExtension(mDisplay, &event, &error) != True || + XScreenSaverQueryVersion(mDisplay, &major, &minor) != True) + return 0; + if (major < 1 || major == 1 && minor < 1) + return 0; + XScreenSaverSuspend(mDisplay, suspend); + return 1; +#endif +} + /* * End of XScreensaver stuff */ @@ -1709,6 +1725,8 @@ static void xscreensaver_enable(void) void saver_on(Display * mDisplay) { + if (xss_suspend(False)) + return; #ifdef HAVE_XDPMS if (dpms_disabled) { @@ -1767,9 +1785,11 @@ void saver_on(Display * mDisplay) void saver_off(Display * mDisplay) { -#ifdef HAVE_XDPMS int nothing; + if (xss_suspend(True)) + return; +#ifdef HAVE_XDPMS if (DPMSQueryExtension(mDisplay, ¬hing, ¬hing)) { BOOL onoff; -- cgit v1.2.3