diff options
author | wm4 <wm4@nowhere> | 2015-01-16 23:38:47 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-01-16 23:38:47 +0100 |
commit | eb5a83e1c110234b3e835b7a76d83e1ddaa7bfb5 (patch) | |
tree | 16189fc460f5f2fb5cc9920a8d1e72a0e18f7fcc /video/out/x11_common.c | |
parent | 5649658c4e12eb98af9da3a21b644c40cd1b2313 (diff) | |
download | mpv-eb5a83e1c110234b3e835b7a76d83e1ddaa7bfb5.tar.bz2 mpv-eb5a83e1c110234b3e835b7a76d83e1ddaa7bfb5.tar.xz |
x11: add --on-all-workspaces option and property
Fixes #1469.
Diffstat (limited to 'video/out/x11_common.c')
-rw-r--r-- | video/out/x11_common.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/video/out/x11_common.c b/video/out/x11_common.c index e280349d24..be1f1b74ed 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -1619,6 +1619,16 @@ int vo_x11_control(struct vo *vo, int *events, int request, void *arg) opts->border = !opts->border; vo_x11_decoration(vo, vo->opts->border); return VO_TRUE; + case VOCTRL_ALL_WORKSPACES: { + opts->all_workspaces = !opts->all_workspaces; + long params[5] = {0xFFFFFFFF, 1}; + if (!opts->all_workspaces) { + x11_get_property_copy(x11, x11->rootwin, XA(x11, _NET_CURRENT_DESKTOP), + XA_CARDINAL, 32, ¶ms[0], sizeof(params[0])); + } + x11_send_ewmh_msg(x11, "_NET_WM_DESKTOP", params); + return VO_TRUE; + } case VOCTRL_GET_UNFS_WINDOW_SIZE: { int *s = arg; if (!x11->window) |