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:
parent
58caf577f1
commit
516e7d19da
@ -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
|
||||
------------
|
||||
|
@ -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",
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user