xserver/hw/xwayland
Carlos Garnacho 0777cf46d7 xwayland: Improve checks for confined_to on InputOnly windows
In this pretty Wine/Proton specific kludge, we try to handle confining grabs
on InputOnly windows by trying to find the InputOutput window that the pointer
would get visually confined to.

The grabbing window and the visible window come from different clients, so
we used to simply resort to the pointer focus. This is troublesome though, as
the call may happen very soon at a time that the toplevel wasn't yet mapped by
the Wayland compositor, so the pointer focus may well be out of date soon.

In these situations, it does seem that even though the confining grab happens
too early to have the wayland surface mapped, the xserver view of the WindowPtr
does already reflect the size. Use this to find out the better window to
assign the confining grab to, one whose geometry fully contains the InputOnly
window's.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2020-05-13 09:19:48 +00:00
..
.gitignore xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
Makefile.am xwayland: port rooted xwayland from wl_shell to xdg-shell protocol 2020-02-28 16:23:58 +00:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
meson.build xwayland: port rooted xwayland from wl_shell to xdg-shell protocol 2020-02-28 16:23:58 +00:00
xwayland-cursor.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-cursor.h xwayland: Move Xwayland cursor declarations 2019-12-20 16:19:01 +01:00
xwayland-cvt.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-cvt.h xwayland: Move Xwayland CVT declaration 2019-12-20 16:19:01 +01:00
xwayland-glamor-eglstream.c xwayland: Include xwayland-window.h from xwayland-glamor-eglstream.c 2020-01-06 15:52:35 +01:00
xwayland-glamor-gbm.c Revert "xwayland/glamor-gbm: Add xwl_glamor_gbm_post_damage hook" 2020-02-11 16:05:21 +01:00
xwayland-glamor-xv.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-glamor.c Revert "xwayland/glamor-gbm: Add xwl_glamor_gbm_post_damage hook" 2020-02-11 16:05:21 +01:00
xwayland-glamor.h Revert "xwayland/glamor-gbm: Add xwl_glamor_gbm_post_damage hook" 2020-02-11 16:05:21 +01:00
xwayland-glx.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-glx.h xwayland: Move Xwayland GLX declaration 2019-12-20 16:19:01 +01:00
xwayland-input.c xwayland: Remove undeeded test 2020-05-12 16:37:28 +02:00
xwayland-input.h xwayland: Move Xwayland cursor declarations 2019-12-20 16:19:01 +01:00
xwayland-output.c xwayland: Remove unnecessary xwl_window_is_toplevel() check from xwl_output_set_window_randr_emu_props() 2020-02-23 18:05:18 +01:00
xwayland-output.h xwayland: Move Xwayland output declarations 2019-12-20 16:19:01 +01:00
xwayland-pixmap.c xwayland: Separate Xwayland pixmap code 2019-12-20 16:19:01 +01:00
xwayland-pixmap.h xwayland: Separate Xwayland pixmap code 2019-12-20 16:19:01 +01:00
xwayland-present.c xwayland: Delete all frame_callback_list nodes in xwl_unrealize_window 2020-03-17 11:45:22 +01:00
xwayland-present.h xwayland: Delete all frame_callback_list nodes in xwl_unrealize_window 2020-03-17 11:45:22 +01:00
xwayland-screen.c xwayland: Improve checks for confined_to on InputOnly windows 2020-05-13 09:19:48 +00:00
xwayland-screen.h xwayland: Fix infinite loop at startup 2020-04-27 11:42:13 +02:00
xwayland-shm.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-shm.h xwayland: Move SHM declarations to their own header 2019-12-20 16:19:01 +01:00
xwayland-types.h xwayland: Move Xwayland structures to their own header 2019-12-20 16:19:01 +01:00
xwayland-vidmode.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-vidmode.h xwayland: Move Xwayland vidmode declaration 2019-12-20 16:19:01 +01:00
xwayland-window-buffers.c xwayland: Separate Xwayland screen code 2019-12-20 16:19:01 +01:00
xwayland-window-buffers.h xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-window.c xwayland: Delete all frame_callback_list nodes in xwl_unrealize_window 2020-03-17 11:45:22 +01:00
xwayland-window.h xwayland: port rooted xwayland from wl_shell to xdg-shell protocol 2020-02-28 16:23:58 +00:00
xwayland.c xwayland: Add version command line option 2020-02-14 17:04:44 +01:00