Index: Makefile
===================================================================
RCS file: /cvsroot/mplayer/main/Makefile,v
retrieving revision 1.366
diff -u -r1.366 Makefile
--- Makefile	4 Apr 2006 06:48:14 -0000	1.366
+++ Makefile	10 Apr 2006 14:39:30 -0000
@@ -74,6 +74,7 @@
           $(DIRECTFB_LIB) \
           $(CACA_LIB) \
 	  $(VESA_LIB) \
+          -lXss
 
 ifeq ($(EXTERNAL_VIDIX),yes)
 VO_LIBS += $(EXTERNAL_VIDIX_LIB)
Index: libvo/x11_common.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/x11_common.c,v
retrieving revision 1.205
diff -u -r1.205 x11_common.c
--- libvo/x11_common.c	4 Mar 2006 17:33:56 -0000	1.205
+++ libvo/x11_common.c	10 Apr 2006 14:39:41 -0000
@@ -27,6 +27,8 @@
 #include <X11/Xutil.h>
 #include <X11/Xatom.h>
 
+#include <X11/extensions/scrnsaver.h>
+
 #ifdef HAVE_XDPMS
 #include <X11/extensions/dpms.h>
 #endif
@@ -1621,6 +1623,15 @@
 
 void saver_on(Display * mDisplay)
 {
+#if (ScreenSaverMajorVersion > 1) || (ScreenSaverMinorVersion >= 1)
+    int major, minor;
+    XScreenSaverQueryVersion(mDisplay, &major, &minor);
+    if (major > 1 || minor >= 1)
+    {
+        XScreenSaverSuspend(mDisplay, False);
+        return;
+    }
+#endif
 
 #ifdef HAVE_XDPMS
     int nothing;
@@ -1684,6 +1695,16 @@
 
     int interval, prefer_blank, allow_exp;
 
+#if (ScreenSaverMajorVersion > 1) || (ScreenSaverMinorVersion >= 1)
+    int major, minor;
+    XScreenSaverQueryVersion(mDisplay, &major, &minor);
+    if (major > 1 || minor >= 1)
+    {
+        XScreenSaverSuspend(mDisplay, True);
+        return;
+    }
+#endif
+
 #ifdef HAVE_XDPMS
     int nothing;
 
