diff --git a/app/src/compat.h b/app/src/compat.h index fd68d61a..de667bbf 100644 --- a/app/src/compat.h +++ b/app/src/compat.h @@ -43,4 +43,9 @@ # define SCRCPY_SDL_HAS_WINDOW_ALWAYS_ON_TOP #endif +#if SDL_VERSION_ATLEAST(2, 0, 8) +// +# define SCRCPY_SDL_HAS_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR +#endif + #endif diff --git a/app/src/scrcpy.c b/app/src/scrcpy.c index 61b3f8d9..b777b770 100644 --- a/app/src/scrcpy.c +++ b/app/src/scrcpy.c @@ -9,6 +9,7 @@ #include "command.h" #include "common.h" +#include "compat.h" #include "controller.h" #include "decoder.h" #include "device.h" @@ -68,6 +69,13 @@ sdl_init_and_configure(bool display) { } #endif +#ifdef SCRCPY_SDL_HAS_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR + // Disable compositor bypassing on X11 + if (!SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "0")) { + LOGW("Could not disable X11 compositor bypass"); + } +#endif + // Do not disable the screensaver when scrcpy is running SDL_EnableScreenSaver();