diff options
author | 2023-03-01 16:57:38 +0200 | |
---|---|---|
committer | 2023-03-03 12:23:36 +0200 | |
commit | 4e4624dee9850b4a4e590dd0f0f2b3173bded085 (patch) | |
tree | 4f5250eaa1c9756afcf52f3cef2ab17438e8f37f /protocol | |
parent | 9eb8ca6ac7473107ebe391c2f78543e92e461240 (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.xml | 23 |
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"> |