summaryrefslogtreecommitdiffstats
path: root/protocol
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-04-06 22:30:55 +0300
committerMarius Vlad <marius.vlad@collabora.com>2020-05-12 21:56:35 +0300
commitd0b4585202c46be21b415c664b9d010057c37686 (patch)
tree6be0a37532ed10562c7da081abd6b4b5ef3a787d /protocol
parent410d47884ffedce08a987b948429d9d13bc4f551 (diff)
agl-shell-desktop: Add the ability to hide client windows
This would be particularly useful to pop-up kind of window(s). It implements the 'deactivate_app' request. For the pop-up role we just remove the view from the layer while for the desktop we store the previous surface and re-use it if that's set. Otherwise we just display the background surface. As we now allow to hide client windows, we need to able to activate/show them back so this also adds a slight modification to take care to handle the pop-up role separately when calling the 'activate_app' request. Bug-AGL: SPEC-3269 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Iec5ccbe2815f4b0e32086fd49856f5f338147f79
Diffstat (limited to 'protocol')
-rw-r--r--protocol/agl-shell-desktop.xml16
1 files changed, 16 insertions, 0 deletions
diff --git a/protocol/agl-shell-desktop.xml b/protocol/agl-shell-desktop.xml
index 28b2756..6d53f92 100644
--- a/protocol/agl-shell-desktop.xml
+++ b/protocol/agl-shell-desktop.xml
@@ -76,5 +76,21 @@
<arg name="y" type="int"/>
<arg name="output" type="object" interface="wl_output"/>
</request>
+
+ <request name="deactivate_app">
+ <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 activate surface) or temporarly (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>
</interface>
</protocol>