summaryrefslogtreecommitdiffstats
path: root/libvo/x11_common.c
diff options
context:
space:
mode:
authorlaaz <laaz@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-10 00:00:04 +0000
committerlaaz <laaz@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-10 00:00:04 +0000
commit473f1b7b0780d24799a1bf54929118073709df4d (patch)
treec59b550f1c52b78ebbfa397cdc3863f7dbe549e2 /libvo/x11_common.c
parentfd9595e99bf039bcc053c3e52d026001314c649d (diff)
downloadmpv-473f1b7b0780d24799a1bf54929118073709df4d.tar.bz2
mpv-473f1b7b0780d24799a1bf54929118073709df4d.tar.xz
Szebb es jobb screensaver-kikapcsolo resz
xmga, xv, x11 support (sdl comming soon) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@325 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r--libvo/x11_common.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index 6e87fbb3a1..c765f098fc 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -10,6 +10,7 @@
#ifdef X11_FULLSCREEN
+#include <X11/Xmd.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
@@ -20,6 +21,9 @@ int vo_screenheight=0;
int vo_dwidth=0;
int vo_dheight=0;
+static int dpms_disabled=0;
+static int timeout_save=0;
+
int vo_init( void )
{
int CompletionType = -1;
@@ -151,3 +155,48 @@ int vo_x11_check_events(Display *mydisplay){
}
#endif
+
+void saver_on(Display *mDisplay) {
+
+ int nothing;
+ if (dpms_disabled)
+ {
+ if (DPMSQueryExtension(mDisplay, &nothing, &nothing))
+ {
+ printf ("Enabling DPMS\n");
+ DPMSEnable(mDisplay); // restoring power saving settings
+ DPMSQueryExtension(mDisplay, &nothing, &nothing);
+ }
+ }
+
+ if (timeout_save)
+ {
+ int dummy, interval, prefer_blank, allow_exp;
+ XGetScreenSaver(mDisplay, &dummy, &interval, &prefer_blank, &allow_exp);
+ XSetScreenSaver(mDisplay, timeout_save, interval, prefer_blank, allow_exp);
+ XGetScreenSaver(mDisplay, &timeout_save, &interval, &prefer_blank, &allow_exp);
+ }
+
+}
+
+void saver_off(Display *mDisplay) {
+
+ int interval, prefer_blank, allow_exp, nothing;
+
+ if (DPMSQueryExtension(mDisplay, &nothing, &nothing))
+ {
+ BOOL onoff;
+ CARD16 state;
+ DPMSInfo(mDisplay, &state, &onoff);
+ if (onoff)
+ {
+ printf ("Disabling DPMS\n");
+ dpms_disabled=1;
+ DPMSDisable(mDisplay); // monitor powersave off
+ }
+ }
+ XGetScreenSaver(mDisplay, &timeout_save, &interval, &prefer_blank, &allow_exp);
+ if (timeout_save)
+ XSetScreenSaver(mDisplay, 0, interval, prefer_blank, allow_exp);
+ // turning off screensaver
+} \ No newline at end of file