weston/xwayland
Olivier Fourdan f568968f8a xwm: Use Xwayland allow commits for repaint
Initially, `_XWAYLAND_ALLOW_COMMITS` was introduced in commit 7ace831ca
to avoid drawing the window content before it's ready to be shown.

But a repaint might also be triggered by the client damages before the
XWM has finished drawing its window decorations and drop shadows, which
previously was not too much of an issue since the XWM could still
finish updating the X11 window after the buffer was submitted.

However, with the addition of multiple window buffers in Xwayland [1]
which are aimed at preventing the X11 clients from updating the buffer
after it's been committed, this is no longer possible.

As a result, the use of multiple window buffers in Xwayland can cause
ugly repainting effects of the decorations if the buffer is submitted
before the XWM has finished painting its decorations.

Use the X11 property `_XWAYLAND_ALLOW_COMMITS` can be used to avoid
this, by controlling when Xwayland should commit changes to the Wayland
surface.

[1] https://gitlab.freedesktop.org/xorg/xserver/merge_requests/316
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2019-11-21 16:50:09 +00:00
..
dnd.c xwm: dnd does not need cairo-util.h 2019-10-04 15:56:19 +03:00
hash.c Make config.h inclusion consistent 2016-06-16 11:01:54 -07:00
hash.h include stdint.h for int32_t/uint32_t 2016-07-26 16:26:08 -07:00
launcher.c Use weston_compositor_add_destroy_listener_once() in plugins 2019-11-21 16:32:55 +00:00
meson.build build: separate deps for int and ext libweston users 2019-10-24 13:29:33 +03:00
selection.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
window-manager.c xwm: Use Xwayland allow commits for repaint 2019-11-21 16:50:09 +00:00
xwayland-internal-interface.h xwayland: add set_toplevel_with_position to internal API 2017-01-18 13:21:02 +02:00
xwayland.h xwm: no need for compositor/weston.h 2019-10-04 17:14:22 +03:00