summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-12-22 11:09:43 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-12-22 11:09:43 +0000
commitdefbb2a54509308c11c029e637353cf75c94019b (patch)
tree060a2404713124ba0d5cd7c878fbf1b98955e821 /libvo
parentacec444aa5f3cda128a3be6bbc76787467dd3abe (diff)
downloadmpv-defbb2a54509308c11c029e637353cf75c94019b.tar.bz2
mpv-defbb2a54509308c11c029e637353cf75c94019b.tar.xz
Add support for XScreenSaverSuspend
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25494 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/x11_common.c22
1 files changed, 21 insertions, 1 deletions
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, &nothing, &nothing))
{
BOOL onoff;