From 3f75b3c3439241c209349908fa190c0382e44f05 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 8 Aug 2017 12:55:41 +0200 Subject: [PATCH] x11: drop xscrnsaver use It's an ancient X11 protocol extension that apparently nobody uses anymore (desktop environments in particular have replaced it with equally bad protocols that require tons of dependencies). Users keep complaining about it being a required dependency. The impact is likely minimal to none. Fixes #4706 and other annoying people. --- README.md | 2 +- video/out/x11_common.c | 16 ---------------- wscript | 1 - 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/README.md b/README.md index ce38279235..5fa0c4cd67 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ Example: Essential dependencies (incomplete list): - gcc or clang -- X development headers (xlib, xrandr, xext, xscrnsaver, xinerama, libvdpau, +- X development headers (xlib, xrandr, xext, xinerama, libvdpau, libGL, GLX, EGL, xv, ...) - Audio output development headers (libasound/ALSA, pulseaudio) - FFmpeg libraries (libavutil libavcodec libavformat libswscale libavfilter diff --git a/video/out/x11_common.c b/video/out/x11_common.c index 30ad89746f..41c9d8b00a 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -33,7 +33,6 @@ #include #include -#include #include #include #include @@ -1908,22 +1907,9 @@ static void xscreensaver_heartbeat(struct vo_x11_state *x11) { x11->screensaver_time_last = time; sem_post(&x11->screensaver_sem); - XResetScreenSaver(x11->display); } } -static int xss_suspend(Display *mDisplay, Bool suspend) -{ - 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; -} - static void set_screensaver(struct vo_x11_state *x11, bool enabled) { Display *mDisplay = x11->display; @@ -1931,8 +1917,6 @@ static void set_screensaver(struct vo_x11_state *x11, bool enabled) return; MP_VERBOSE(x11, "%s screensaver.\n", enabled ? "Enabling" : "Disabling"); x11->screensaver_enabled = enabled; - if (xss_suspend(mDisplay, !enabled)) - return; int nothing; if (DPMSQueryExtension(mDisplay, ¬hing, ¬hing)) { BOOL onoff = 0; diff --git a/wscript b/wscript index ad57df9d67..feb20851a3 100644 --- a/wscript +++ b/wscript @@ -578,7 +578,6 @@ video_output_features = [ 'name': '--x11', 'desc': 'X11', 'func': check_pkg_config('x11', '>= 1.0.0', - 'xscrnsaver', '>= 1.0.0', 'xext', '>= 1.0.0', 'xinerama', '>= 1.0.0', 'xrandr', '>= 1.2.0'),