[MPlayer-dev-eng] [RFC] remove screensaver mess
Reimar Döffinger
Reimar.Doeffinger at stud.uni-karlsruhe.de
Sat Dec 22 12:36:15 CET 2007
Hello,
this removes most of the screensaver support mess and only adds a
XResetScreenSaver.
I'd like to know which screensavers do not work with this.
The next variant would be system(useroption) instead/in addition to
XResetScreenSaver, here I'd also like to know if there are any
screensavers where this wouldn't work either.
Greetings,
Reimar Döffinger
-------------- next part --------------
Index: libvo/x11_common.c
===================================================================
--- libvo/x11_common.c (revision 25495)
+++ libvo/x11_common.c (working copy)
@@ -1658,50 +1658,15 @@
void xscreensaver_heartbeat(void)
{
unsigned int time = GetTimerMS();
- XEvent ev;
- if (mDisplay && xs_windowid && (time - time_last) > 30000)
+ if (mDisplay && (time - time_last) > 30000)
{
time_last = time;
- ev.xany.type = ClientMessage;
- ev.xclient.display = mDisplay;
- ev.xclient.window = xs_windowid;
- ev.xclient.message_type = screensaver;
- ev.xclient.format = 32;
- memset(&ev.xclient.data, 0, sizeof(ev.xclient.data));
- ev.xclient.data.l[0] = (long) deactivate;
-
- mp_msg(MSGT_VO, MSGL_DBG2, "Pinging xscreensaver.\n");
- old_handler = XSetErrorHandler(badwindow_handler);
- XSendEvent(mDisplay, xs_windowid, False, 0L, &ev);
- XSync(mDisplay, False);
- XSetErrorHandler(old_handler);
+ XResetScreenSaver(mDisplay);
}
}
-static void xscreensaver_disable(Display * dpy)
-{
- mp_msg(MSGT_VO, MSGL_DBG2, "xscreensaver_disable()\n");
-
- xs_windowid = find_xscreensaver_window(dpy);
- if (!xs_windowid)
- {
- mp_msg(MSGT_VO, MSGL_INFO, MSGTR_CouldNotFindXScreenSaver);
- return;
- }
- mp_msg(MSGT_VO, MSGL_INFO,
- "xscreensaver_disable: xscreensaver wid=%ld.\n", xs_windowid);
-
- deactivate = XInternAtom(dpy, "DEACTIVATE", False);
- screensaver = XInternAtom(dpy, "SCREENSAVER", False);
-}
-
-static void xscreensaver_enable(void)
-{
- xs_windowid = 0;
-}
-
static int xss_suspend(Bool suspend)
{
#ifndef HAVE_XSS
@@ -1757,30 +1722,6 @@
dpms_disabled = 0;
}
#endif
-
- 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);
- timeout_save = 0;
- }
-
- if (stop_xscreensaver)
- xscreensaver_enable();
- if (kdescreensaver_was_running && stop_xscreensaver)
- {
- system
- ("dcop kdesktop KScreensaverIface enable true 2>/dev/null >/dev/null");
- kdescreensaver_was_running = 0;
- }
-
-
}
void saver_off(Display * mDisplay)
@@ -1807,28 +1748,6 @@
}
}
#endif
- if (!timeout_save)
- {
- int interval, prefer_blank, allow_exp;
- XGetScreenSaver(mDisplay, &timeout_save, &interval, &prefer_blank,
- &allow_exp);
- if (timeout_save)
- XSetScreenSaver(mDisplay, 0, interval, prefer_blank,
- allow_exp);
- }
- // turning off screensaver
- if (stop_xscreensaver)
- xscreensaver_disable(mDisplay);
- if (stop_xscreensaver && !kdescreensaver_was_running)
- {
- kdescreensaver_was_running =
- (system
- ("dcop kdesktop KScreensaverIface isEnabled 2>/dev/null | sed 's/1/true/g' | grep true 2>/dev/null >/dev/null")
- == 0);
- if (kdescreensaver_was_running)
- system
- ("dcop kdesktop KScreensaverIface enable false 2>/dev/null >/dev/null");
- }
}
static XErrorHandler old_handler = NULL;
More information about the MPlayer-dev-eng
mailing list