weston/xwayland
Pekka Paalanen 882aff0932 xwayland: detect initially positioned X11 windows
X11 applications expect -geometry command line option to work for
setting the initial window position, but currently this does not work.

During map, detect X11 windows that set an explicit position. This works
by heuristics: if window position is not 0,0 then it is explicitly
positioned. Legacy fullscreen windows are also at 0,0 but these are
detected earlier.

Explicitly store the window position at map request time to detect
client-positioned windows, and use it as the suggested initial position.
weston_wm_window::x and y have been overwritten due to reparenting when
we eventually need the initial position.

This patch requires that the new set_toplevel_with_position() hook is
implemented in the shell.

Note that this patch is about positioning xwayland toplevels, not
override-redirect windows which are already handled.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
2017-01-18 13:21:02 +02:00
..
dnd.c xwayland: Create the drag-and-drop window in weston_wm_dnd_init 2016-11-22 12:01:37 +00: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 libweston: Properly namespace modules entrypoint 2017-01-17 18:24:53 +01:00
selection.c xwayland: fix three minor typos 2017-01-03 11:59:19 +00:00
window-manager.c xwayland: detect initially positioned X11 windows 2017-01-18 13:21:02 +02:00
xwayland-api.h xwayland: Introduce a private struct for XWayland interface 2016-08-14 09:29:08 +02:00
xwayland-internal-interface.h xwayland: add set_toplevel_with_position to internal API 2017-01-18 13:21:02 +02:00
xwayland.h xwayland: make the plugin usable by libweston compositors 2016-07-01 14:34:33 +03:00