From: Marius Vlad Date: Wed, 3 Aug 2022 15:28:39 +0000 (+0300) Subject: agl-shell: Introduce float/remoting app roles X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=fc0b8bbf09c85c44bd2cc48d939e280b6c6f6ef7;p=src%2Fagl-compositor.git agl-shell: Introduce float/remoting app roles Another follow-up from the migration of agl_shell_desktop to the agl_shell is the floating (previously called pop-up) and remoting application roles. The fullscreen role is already been taken care of from libweston. Signed-off-by: Marius Vlad --- diff --git a/protocol/agl-shell.xml b/protocol/agl-shell.xml index e99f86f..6d0d693 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. - + 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. @@ -192,5 +192,80 @@ + + + The agl-shell protocol makes the windows by default maximized to the + output area, taking into consideration the panel sizes. + + If certain client would want be behave like a pop-up type, always sticky + window, when switching between applications, it can use this request + to do so. + + If the application, specified with the app_id string, + is not currently running, it will be added it to a pending list. + + If, at a later point in time, that application does come up it will + apply the floating state to it. Note that once that happens, and a later + point in time that application is stopped, these changes will not apply + anymore. To keep a permanent state see also set_app_property_mode(). + + Another use-case is for applications that want to be started from the + beginning as floating, so they the client must call this request before + doing the initial wl_surface.commit(). + + Application can also transit from float to maximized and vice-versa + using this request or the set_app_unfloat to go back to an + initial maximized state. + + See xdg_toplevel.set_app_id from the xdg-shell protocol for a + description of app_id. + + + + + + + + + This undoes the effect of the 'set_app_float' request + in case the client wants to go from floating back to the maximized + state. If there's no app_id present this request will obviously do + nothing. + + See xdg_toplevel.set_app_id from the xdg-shell protocol for a + description of app_id. + + + + + + + See xdg_toplevel.set_app_id from the xdg-shell protocol for a + description of app_id. + + + + + + + + Use this request to inform the compositor to maintain a pending state + for an app_id being set with set_app_float/set_app_remote request. + + Any subsequent application matching that app_id would survive a + potential application destruction. Note that this request will + take effect globally on all applications. + + To turn it on, or off, use the 'permanent' argument. Initially, + the compositor will have this option set to off. Note that it + doesn't matter the order of this request with respect to + set_app_property() request, as the changes will only take effect + when the application itself does the commit with an app_id set, + therefore the only requirement is to call this request before + the app_id client does its first commit. + + + +