summaryrefslogtreecommitdiffstats
path: root/protocol
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2023-03-01 16:57:38 +0200
committerMarius Vlad <marius.vlad@collabora.com>2023-03-03 12:23:36 +0200
commit4e4624dee9850b4a4e590dd0f0f2b3173bded085 (patch)
tree4f5250eaa1c9756afcf52f3cef2ab17438e8f37f /protocol
parent9eb8ca6ac7473107ebe391c2f78543e92e461240 (diff)
grpc-proxy: Add set_app_fullscreen functionality
This implements set_app_fullscreen which clients can set-up before being mapped. The worthwhile change here was the fact that transitioning between fullscreen, normal, and float would cause invalid tracking of the active window when switching between these states. This would make floating operation display the incorrect active window, so in order to reconcile that, we only update the previous surface if it is different that the current active one. Otherwise this fairly similar to set_app_float. Bug-AGL: SPEC-4673 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ie912c86ff7ac38d034cf4d97b2adbc5ef47ce9d3
Diffstat (limited to 'protocol')
-rw-r--r--protocol/agl-shell.xml23
1 files changed, 22 insertions, 1 deletions
diff --git a/protocol/agl-shell.xml b/protocol/agl-shell.xml
index d01771f..8057387 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="6">
+ <interface name="agl_shell" version="7">
<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.
@@ -252,6 +252,27 @@
</description>
<arg name="app_id" type="string"/>
</request>
+
+ <request name="set_app_fullscreen" since="7">
+ <description summary="">
+ Makes the application identified by app_id as fullscreen. If the
+ application's window is already mapped, in a maximized, normal state,
+ it would transition to the fullscreen state.
+
+ For applications that want to modify their own state, this request
+ must be done before the initial surface commit in order to take effect.
+
+ If the application is already in fullscreen state, this request wouldn't
+ do anything.
+
+ There's no persistence of this request, once the application terminated
+ you'll 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"/>
+ </request>
</interface>
<interface name="agl_shell_ext" version="1">