[RFC 1/5] Add a fullscreen shell protocol
Jason Ekstrand
jason at jlekstrand.net
Wed Oct 23 03:48:25 CEST 2013
---
protocol/fullscreen-shell.xml | 44 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 protocol/fullscreen-shell.xml
diff --git a/protocol/fullscreen-shell.xml b/protocol/fullscreen-shell.xml
new file mode 100644
index 0000000..b696828
--- /dev/null
+++ b/protocol/fullscreen-shell.xml
@@ -0,0 +1,44 @@
+<protocol name="fullscreen_shell">
+ <interface name="wl_fullscreen_shell" version="1">
+ <description summary="Displays a single surface per output">
+ Displays a single surface per output.
+
+ This interface can only be bound to by one client at a time.
+ </description>
+
+ <enum name="fullscreen_method">
+ <description summary="different method to set the surface fullscreen">
+ Hints to indicate to the compositor how to deal with a conflict
+ between the dimensions of the surface and the dimensions of the
+ output. The compositor is free to ignore this parameter.
+ </description>
+ <entry name="default" value="0" summary="no preference, apply default policy"/>
+ <entry name="scale" value="1" summary="scale, preserve the surface's aspect ratio and center on output"/>
+ <entry name="driver" value="2" summary="switch output mode to the smallest mode that can fit the surface, add black borders to compensate size mismatch"/>
+ <entry name="fill" value="3" summary="no upscaling, center on output and add black borders to compensate size mismatch"/>
+ </enum>
+
+ <request name="present_surface">
+ <description summary="present surface for display">
+ This requests the system compositor to display surface on output.
+ Each client of the system compositor can have at most one surface
+ per output at any one time. Subsequent requests with the same
+ output replace the surface bound to that output. The same surface
+ may be presented on multiple outputs.
+
+ If the output is null, the compositor will present the surface on
+ whatever display (or displays) it thinks best. In particular, this
+ may replace any or all surfaces currently presented so it should
+ not be used in combination with placing surfaces on specific
+ outputs.
+
+ The method specifies how the surface is to be persented. These
+ methods are identical to those in wl_shell_surface.set_fullscreen.
+ </description>
+ <arg name="surface" type="object" interface="wl_surface"/>
+ <arg name="method" type="uint"/>
+ <arg name="framerate" type="uint"/>
+ <arg name="output" type="object" interface="wl_output" allow-null="true"/>
+ </request>
+ </interface>
+</protocol>
--
1.8.3.1
More information about the wayland-devel
mailing list