[PATCH wayland] protocol: Add logical_size event to wl_output

Olivier Fourdan ofourdan at redhat.com
Fri Jun 30 08:55:55 UTC 2017


With the introduction of fractional scaling in some compositors and due
to existing discrepancies between compositors on the way Xwayland
surfaces are scaled based on the wl_output scale, Xwayland and possibly
other Wayland clients need a way to know the size of the outputs in the
global compositor space regardless of the advertised scaling factor.

https://bugs.freedesktop.org/show_bug.cgi?id=101436

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
---
 This is the follow-up on:
 https://lists.freedesktop.org/archives/wayland-devel/2017-June/034384.html

 protocol/wayland.xml | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 29b63be..524a2de 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -2338,7 +2338,7 @@
     </event>
   </interface>
 
-  <interface name="wl_output" version="3">
+  <interface name="wl_output" version="4">
     <description summary="compositor output region">
       An output describes part of the compositor geometry.  The
       compositor works in the 'compositor coordinate system' and an
@@ -2486,6 +2486,24 @@
 	use the output object anymore.
       </description>
     </request>
+
+    <!-- Version 4 additions -->
+
+    <event name="logical_size" since="4">
+      <description summary="Size of the output in the global compositor space">
+	The logical_size event describes the size of the output in the global
+	compositor space.
+
+	For example, a surface with the size matching the logical_size will
+	have the same size as the corresponding output when displayed.
+
+	Clients such as Xwayland need this to configure their surfaces in
+	the global compositor space as the compositor may apply a different
+	scale from what is advertised by the output scaling property (to
+	achieve fractional scaling for example).
+      </description>
+    </event>
+
   </interface>
 
   <interface name="wl_region" version="1">
-- 
2.9.4



More information about the xorg-devel mailing list