agl-shell: Add deactivate app in the agl_shell interface
authorMarius Vlad <marius.vlad@collabora.com>
Wed, 3 Aug 2022 13:49:53 +0000 (16:49 +0300)
committerMarius Vlad <marius.vlad@collabora.com>
Wed, 3 Aug 2022 13:49:53 +0000 (16:49 +0300)
As a part of making agl_shell_desktop obsolete, we'll might need to
hide the currently active window and this adds that request from the
agl_shell_desktop protocol.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
protocol/agl-shell.xml

index f540eff..75ffdce 100644 (file)
@@ -22,7 +22,7 @@
     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     DEALINGS IN THE SOFTWARE.
   </copyright>
-  <interface name="agl_shell" version="2">
+  <interface name="agl_shell" version="3">
     <description summary="user interface for Automotive Grade Linux platform">
       Starting with version 2 of the protocol, the client is required to wait
       for the 'bound_ok' or 'bound_fail' events in order to proceed further.
       <arg name="output" type="object" interface="wl_output"/>
     </request>
 
+    <request name="deactivate_app" since="3">
+      <description summary="de-activate/hide window identified by app_id">
+        Ask the compositor to hide the toplevel window for window
+        management purposes. Depending on the window role, this request
+        will either display the previously active window (or the background
+        in case there's no previously active surface) or temporarily (or
+        until a 'activate_app' is called upon) hide the surface. All
+        the surfaces are identifiable by using the app_id, and no actions are
+        taken in case the app_id is not/was not present.
+
+        See xdg_toplevel.set_app_id from the xdg-shell protocol for a
+        description of app_id.
+      </description>
+      <arg name="app_id" type="string"/>
+    </request>
+
     <event name="bound_ok" since="2">
      <description>
         Informs the client that it was able to bind the agl_shell