xserver-multidpi/hw/xwayland
Hans de Goede 5315f988d9 xwayland: Set _XWAYLAND_RANDR_EMU_MONITOR_RECTS property for resolution emulation
Apps using randr to change the resolution when going fullscreen, in
combination with _NET_WM_STATE_FULLSCREEN to tell the window-manager (WM)
to make their window fullscreen, expect the WM to give the fullscreen window
the size of the emulated resolution as would happen when run under Xorg (*).

We need the WM to emulate this behavior for these apps to work correctly,
with Xwaylands resolution change emulation. For the WM to emulate this,
it needs to know about the emulated resolution for the Windows owning
client for each monitor.

This commit adds a _XWAYLAND_RANDR_EMU_MONITOR_RECTS property, which
contains 4 Cardinals (32 bit integers) per monitor with resolution
emulation info. Window-managers can use this to get the emulated
resolution for the client and size the window correctly.

*) Since under Xorg the resolution will actually be changed and after that
going fullscreen through NET_WM_STATE_FULLSCREEN will size the window to
be equal to the new resolution.

Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2019-10-12 12:19:14 +02:00
..
.gitignore xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
Makefile.am xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
meson.build xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
xwayland-cursor.c xwayland: Use buffer_damage instead of surface damage if available 2019-10-12 12:19:14 +02:00
xwayland-cvt.c xwayland: Add hack for FWXGA resolution #99574 2017-02-08 12:32:16 -05:00
xwayland-glamor-eglstream.c xwayland: fix a realloc OOM error case 2018-10-16 10:37:16 +10:00
xwayland-glamor-gbm.c xwayland: Don't create wl_buffer backing pixmap 2019-09-23 13:27:24 +00:00
xwayland-glamor-xv.c xwayland: use the lowercase xnf.*alloc API 2017-09-06 08:56:39 +10:00
xwayland-glamor.c xwayland: Add EGL-backed GLX provider 2019-05-23 12:39:39 -04:00
xwayland-glx.c xwayland-glx: Fix GLX visual mask setup 2019-06-18 14:57:16 -04:00
xwayland-input.c xwayland: Add support for randr-resolution change emulation using viewport 2019-10-12 12:19:14 +02:00
xwayland-output.c xwayland: Set _XWAYLAND_RANDR_EMU_MONITOR_RECTS property for resolution emulation 2019-10-12 12:19:14 +02:00
xwayland-present.c xwayland: Use buffer_damage instead of surface damage if available 2019-10-12 12:19:14 +02:00
xwayland-shm.c xwayland: Don't create wl_buffer backing pixmap 2019-09-23 13:27:24 +00:00
xwayland-vidmode.c xwayland: Add vidmode mode changing emulation support 2019-10-12 12:19:14 +02:00
xwayland.c xwayland: Set _XWAYLAND_RANDR_EMU_MONITOR_RECTS property for resolution emulation 2019-10-12 12:19:14 +02:00
xwayland.h xwayland: Set _XWAYLAND_RANDR_EMU_MONITOR_RECTS property for resolution emulation 2019-10-12 12:19:14 +02:00