1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-29 19:22:48 +00:00

x11: request bypassing compositor

Maybe this is a good idea. Also add an option to disable it again, for
the sake of testing.

Fixes #2502.
This commit is contained in:
wm4 2015-11-18 21:37:38 +01:00
parent 58caf577f1
commit 516e7d19da
4 changed files with 13 additions and 0 deletions

View File

@ -2036,6 +2036,10 @@ Window
This option might be removed in the future.
``--x11-bypass-compositor=<yes|no>``
If set to ``yes`` (default), then ask the compositor to unredirect the
mpv window. This uses the ``_NET_WM_BYPASS_COMPOSITOR`` hint.
Disc Devices
------------

View File

@ -454,6 +454,7 @@ const m_option_t mp_opts[] = {
#if HAVE_X11
OPT_CHOICE("x11-netwm", vo.x11_netwm, 0,
({"auto", 0}, {"no", -1}, {"yes", 1})),
OPT_FLAG("x11-bypass-compositor", vo.x11_bypass_compositor, 0),
#endif
OPT_STRING("heartbeat-cmd", heartbeat_cmd, 0),
OPT_FLOAT("heartbeat-interval", heartbeat_interval, CONF_MIN, 0),
@ -699,6 +700,7 @@ const struct MPOpts mp_default_opts = {
.border = 1,
.WinID = -1,
.window_scale = 1.0,
.x11_bypass_compositor = 1,
},
.allow_win_drag = 1,
.wintitle = "${?media-title:${media-title}}${!media-title:No file} - mpv",

View File

@ -19,6 +19,7 @@ typedef struct mp_vo_opts {
int fs_black_out_screens;
char *winname;
int x11_netwm;
int x11_bypass_compositor;
int native_keyrepeat;
float panscan;

View File

@ -1385,6 +1385,12 @@ static void vo_x11_create_window(struct vo *vo, XVisualInfo *vis,
}
if (!x11->parent) {
if (vo->opts->x11_bypass_compositor) {
long v = 1; // request disabling compositor
XChangeProperty(x11->display, x11->window,
XA(x11,_NET_WM_BYPASS_COMPOSITOR), XA_CARDINAL, 32,
PropModeReplace, (unsigned char *)&v, 1);
}
vo_x11_set_wm_icon(x11);
vo_x11_update_window_title(vo);
vo_x11_dnd_init_window(vo);