From eec4b86bbc18926ca4a9d0b25c1b93a0e2924ae3 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 18 Dec 2014 16:45:55 +0100 Subject: x11: fix mysterious issue with window embedding on OpenBox For some reason, when using window embedding, and the window manager is OpenBox, calling XSetWMNormalHints() before the window is mapped, the initial window position will be off. It leaves some vertical space, instead of placing it on the top/left corner. Suspiciously, the vertical space is as much as a the height of normal window decoration. I don't know what kind of issue this is. Possibly an OpenBox bug, but then this happens even if the override-redirect flag is set. (This flag basically tells the X server to ignore the window manager. Normally we don't set it.) On other window managers, it works fine. So I don't know why this is happening. But this is easy to workaround. XSetWMNormalHints() isn't needed at all if embedding. Should fix #1235. --- video/out/x11_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/video/out/x11_common.c b/video/out/x11_common.c index 4659ccd835..9823570d11 100644 --- a/video/out/x11_common.c +++ b/video/out/x11_common.c @@ -989,7 +989,7 @@ static void vo_x11_sizehint(struct vo *vo, struct mp_rect rc, bool override_pos) struct mp_vo_opts *opts = vo->opts; struct vo_x11_state *x11 = vo->x11; - if (!x11->window) + if (!x11->window || x11->parent) return; bool force_pos = opts->geometry.xy_valid || // explicitly forced by user -- cgit v1.2.3