diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2023-03-01 16:57:38 +0200 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2023-03-03 12:23:36 +0200 |
commit | 4e4624dee9850b4a4e590dd0f0f2b3173bded085 (patch) | |
tree | 4f5250eaa1c9756afcf52f3cef2ab17438e8f37f /grpc-proxy/shell.cpp | |
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 'grpc-proxy/shell.cpp')
-rw-r--r-- | grpc-proxy/shell.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/grpc-proxy/shell.cpp b/grpc-proxy/shell.cpp index eb2e08b..ef5c22f 100644 --- a/grpc-proxy/shell.cpp +++ b/grpc-proxy/shell.cpp @@ -86,6 +86,15 @@ Shell::SetAppNormal(const std::string &app_id) } void +Shell::SetAppFullscreen(const std::string &app_id) +{ + struct agl_shell *shell = this->m_shell.get(); + + agl_shell_set_app_fullscreen(shell, app_id.c_str()); + wl_display_flush(m_shell_data->wl_display); +} + +void Shell::SetAppSplit(const std::string &app_id, uint32_t orientation) { (void) app_id; |