xserver/hw/xwayland
Olivier Fourdan 246ae00ba3 xwayland: Notify of root size change with XRandR emulation
Some clients (typically Java, but maybe others) rely on ConfigureNotify
or RRScreenChangeNotify events to tell that the XRandR request is
successful.

When emulated XRandR is used in Xwayland, compute the emulated root size
and send the expected ConfigureNotify and RRScreenChangeNotify events
with the emulated size of the root window to the asking X11 client.

Note that the root window size does not actually change, as XRandR
emulation is achieved by scaling the client window using viewports in
Wayland, so this event is sort of misleading.

Also, because Xwayland is using viewports, emulating XRandR does not
reconfigure the outputs location, meaning that the actual size of the
root window which encompasses all the outputs together may not change
in a multi-monitor setup. To work around this limitation, when using an
emulated mode, we report the size of that emulated mode alone as the
root size for the configure notify event.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2021-10-12 08:05:47 +00:00
..
man xwayland: add -noTouchPointerEmulation 2021-09-06 21:19:46 +00:00
.gitignore xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
Makefile.am xwayland: Use libxcvt 2021-08-06 11:29:29 +00:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
meson.build xwayland: Fix path in pkg-config with autoconf 2021-03-05 11:11:54 +01:00
xwayland-cursor.c xwayland: Check buffer prior to attaching it 2021-05-11 14:08:58 +02:00
xwayland-cursor.h xwayland: Move Xwayland cursor declarations 2019-12-20 16:19:01 +01:00
xwayland-cvt.c xwayland: Use libxcvt 2021-08-06 11:29:29 +00:00
xwayland-cvt.h xwayland: Move Xwayland CVT declaration 2019-12-20 16:19:01 +01:00
xwayland-glamor-eglstream.c glamor: Require EGL_KHR_no_config_context 2021-09-15 19:14:23 +00:00
xwayland-glamor-gbm.c xwayland: Set GLVND driver based on GBM backend name 2021-10-06 07:21:30 +00:00
xwayland-glamor-xv.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-glamor.c xwayland/present: Move wl_buffer check into xwl_glamor_check_flip 2021-06-14 10:44:03 +02:00
xwayland-glamor.h xwayland/glamor: Add return status to post_damage 2021-05-11 14:08:58 +02:00
xwayland-glx.c xwayland/glx: Enable sRGB fbconfigs 2021-09-23 23:24:59 +00:00
xwayland-glx.h xwayland: Move Xwayland GLX declaration 2019-12-20 16:19:01 +01:00
xwayland-input.c xwayland: Fix memory allocation test 2021-09-15 11:06:44 +02:00
xwayland-input.h xwayland: Delay cursor visibility update 2021-03-03 15:28:27 +01:00
xwayland-output.c xwayland: Notify of root size change with XRandR emulation 2021-10-12 08:05:47 +00:00
xwayland-output.h xwayland: Move Xwayland output declarations 2019-12-20 16:19:01 +01:00
xwayland-pixmap.c xwayland: Rename xwl_pixmap_cb → xwl_buffer_release_cb 2020-07-07 13:47:11 +00:00
xwayland-pixmap.h xwayland: Rename xwl_pixmap_cb → xwl_buffer_release_cb 2020-07-07 13:47:11 +00:00
xwayland-present.c xwayland/present: Move xwl_present_reset_timer call out of xwl_present_flip 2021-09-17 11:55:52 +02:00
xwayland-present.h xwayland/present: Drop target_msc member from struct xwl_present_event 2021-07-09 16:20:04 +02:00
xwayland-screen.c xwayland: Fix leak of xwl_screen on init 2021-09-15 11:06:44 +02:00
xwayland-screen.h xwayland: Add preferred GLVND vendor to xwl_screen 2021-05-31 08:24:00 +00:00
xwayland-shm.c xwayland/shm: Avoid integer overflow on large pixmaps 2021-10-05 10:00:02 +00: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: Initialise values in xwlVidModeGetGamma() 2020-07-03 10:56:43 +00:00
xwayland-vidmode.h xwayland: Move Xwayland vidmode declaration 2019-12-20 16:19:01 +01:00
xwayland-window-buffers.c xwayland: Hold window buffer until released 2020-12-10 13:49:42 +01:00
xwayland-window-buffers.h xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-window.c xwayland/glamor: Add return status to post_damage 2021-05-11 14:08:58 +02: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 -noTouchPointerEmulation 2021-09-06 21:19:46 +00:00
xwayland.pc.in xwayland: add -noTouchPointerEmulation 2021-09-06 21:19:46 +00:00