agl-shell-desktop: Allow to set role properties for the application 97/24397/2
authorMarius Vlad <marius.vlad@collabora.com>
Mon, 6 Apr 2020 11:19:31 +0000 (14:19 +0300)
committerMarius Vlad <marius.vlad@collabora.com>
Tue, 12 May 2020 18:30:16 +0000 (18:30 +0000)
This extends the agl-shell-desktop protocol with a new request that
allows to set further properties on the window/client.

Bug-AGL: SPEC-3269

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia88e23c8c1cbc55c5423de480bba7f86c79897d0

protocol/agl-shell-desktop.xml

index 1347063..28b2756 100644 (file)
       no mechanism to place to restrict or limit that.
     </description>
 
+    <enum name="app_role">
+      <entry name="popup" value="0"/>
+      <entry name="fullscreen" value="1"/>
+    </enum>
+
     <event name="application">
       <description summary="advertise application id">
         The compositor may choose to advertise one or more application ids which
       <arg name="app_id" type="string"/>
       <arg name="output" type="object" interface="wl_output"/>
     </request>
+
+    <request name="set_app_property">
+      <description summary="set properties for a client identified by app_id">
+        Ask the compositor to make a toplevel obey the app_role and, depending
+        on the role, to use the the x and y values as initial positional values.
+        The x and y values would only make sense for certain roles.
+
+        See xdg_toplevel.set_app_id from the xdg-shell protocol for a
+        description of app_id.
+      </description>
+      <arg name="app_id" type="string"/>
+      <arg name="role" type="uint" enum="app_role"/>
+      <arg name="x" type="int"/>
+      <arg name="y" type="int"/>
+      <arg name="output" type="object" interface="wl_output"/>
+    </request>
   </interface>
 </protocol>