summaryrefslogtreecommitdiffstats
path: root/protocol/agl-shell.xml
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2023-04-07 15:59:49 +0300
committerMarius Vlad <marius.vlad@collabora.com>2023-04-27 23:18:35 +0300
commit4a1684308bd6a17c5b112d30e672c40fd348fef3 (patch)
tree16a3a005345061554ce5cb159ccb43ae4253b40d /protocol/agl-shell.xml
parentf825bf9e71ac5adfcbdc6ef7f6c2fef8555ee4a3 (diff)
grpc-proxy: Added set_app_output request
This is identical to the remote role, but I feel this conveys more information than remote role, as remote denotes that the output is displayed on another device, which it isn't always the case (the system has multiple outputs all connected directly). This introduces two new additions to the agl-shell protocol, a request to use a different output to display/show the application and an event to inform the shell client to use as a map between the application id and its output. The event is necessary to let the shell client know which output to activate the application on. This requests implements a wrapper for gRPC that maps 1-to-1 to the agl-shell request. There's no gRPC subscription similar to the event though. Bug-AGL: SPEC-4673 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I070e9fdbafd5616f3a98415193bf846aeaee9a4a
Diffstat (limited to 'protocol/agl-shell.xml')
-rw-r--r--protocol/agl-shell.xml33
1 files changed, 32 insertions, 1 deletions
diff --git a/protocol/agl-shell.xml b/protocol/agl-shell.xml
index 8057387..e010a80 100644
--- a/protocol/agl-shell.xml
+++ b/protocol/agl-shell.xml
@@ -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="7">
+ <interface name="agl_shell" version="8">
<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.
@@ -273,6 +273,37 @@
</description>
<arg name="app_id" type="string"/>
</request>
+
+ <request name="set_app_output" since="8">
+ <description summary="Assign an application to a particular output">
+ This would allow the compositor to place an application on a particular
+ output, if that output is indeed available. This can happen before
+ application is started which would make the application start on that
+ particular output. If the application is already started it would
+ move the application to that output.
+
+ There's no persistence of this request, once the application terminated
+ you'll need to issue this request again for that particular app_id.
+
+ 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="output" type="object" interface="wl_output"/>
+ </request>
+
+ <event name="app_on_output" since="8">
+ <description summary="Event sent as a reponse to set_app_output">
+ Clients can use this event to be notified when an application
+ wants to be displayed on a certain output. This event is sent in
+ response to the set_app_output request.
+
+ 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="output_name" type="string"/>
+ </event>
</interface>
<interface name="agl_shell_ext" version="1">