X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=protocol%2Fagl-shell.xml;h=e99f86f4d317dd12619dffc61b5d169e9b8c788d;hb=0aa1b7b2077bfad0c79ca984d1e114f324015308;hp=59548e7be6fc20552668e37ee5987673f240da43;hpb=aa4ba5d283d641da25722af7a966c31d61a9686b;p=src%2Fagl-compositor.git diff --git a/protocol/agl-shell.xml b/protocol/agl-shell.xml index 59548e7..e99f86f 100644 --- a/protocol/agl-shell.xml +++ b/protocol/agl-shell.xml @@ -1,7 +1,7 @@ - Copyright © 2019 Collabora, Ltd. + Copyright © 2019, 2022 Collabora, Ltd. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -22,10 +22,35 @@ 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. + + In case the client gets a 'bound_fail' event then it should consider that + there's another client already bound to the agl_shell protocol. + A client that receives a 'bound_ok' event should consider that there's + no other client already bound to the interface and can proceed further. + + If the client uses an older version of the protocol it will receive + automatically an error and the compositor will terminate the connection, + if there's another client already bound the interface. + + If the client receives the 'bound_fail' event and attempts to use the + interface further it will receive an error and the compositor will + terminate the connection. After the 'bound_fail' event was received the + client should call the destructor, which has been added with version 2 + of the protocol. The client is free to try at a later point in time to + see if it will receive the 'bound_ok' event, but there's no explicit way + of finding out when that event will delivered. It is assumed that it can + infer that information through other means/other channels. + + + + + @@ -39,12 +64,24 @@ + + + + + + + + + + + + Tell the server that this client is ready to be shown. The server will delay presentation during start-up until all shell clients are ready to be shown, and will display a black screen instead. - This gives the client an oppurtunity to set up and configure several + This gives the client an opportunity to set up and configure several surfaces into a coherent interface. The client that binds to this interface must send this request, otherwise @@ -76,7 +113,7 @@ Set the surface to act as a panel of an output. The 'edge' argument says what edge of the output the surface will be anchored to. After this request, the server will send a configure event with the - correponding width/height that the client should use, and 0 for the + corresponding width/height that the client should use, and 0 for the other dimension. E.g. if the edge is 'top', the width will be the output's width, and the height will be 0. @@ -96,5 +133,64 @@ + + + + Ask the compositor to make a toplevel to become the current/focused + window for window management purposes. + + See xdg_toplevel.set_app_id from the xdg-shell protocol for a + description of app_id. + + If multiple toplevels have the same app_id, the result is unspecified. + + XXX: Do we need feedback to say it didn't work? (e.g. client does + not exist) + + + + + + + + Ask the compositor to hide the toplevel window for window + management purposes. Depending on the window role, this request + will either display the previously active window (or the background + in case there's no previously active surface) or temporarily (or + until a 'activate_app' is called upon) hide the surface. All + the surfaces are identifiable by using the app_id, and no actions are + taken in case the app_id is not/was not present. + + See xdg_toplevel.set_app_id from the xdg-shell protocol for a + description of app_id. + + + + + + + Informs the client that it was able to bind the agl_shell + interface succesfully. Clients are required to wait for this + event before continuing further. + + + + + + Informs the client that binding to the agl_shell interface was + unsuccesfull. Clients are required to wait for this event for + continuing further. + + + + + + Notifies application(s) when other application have suffered state modifications. + + + + + +