X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=protocol%2Fagl-shell-desktop.xml;h=e4445bd071f242b229789c68dc71d04ea2eed140;hb=HEAD;hp=076b4f273745804dbc053ae85b8d10b6620da22d;hpb=a35a7f2e5cc20bd40ece91918e753c709e2ee10b;p=src%2Fagl-compositor.git diff --git a/protocol/agl-shell-desktop.xml b/protocol/agl-shell-desktop.xml index 076b4f2..e4445bd 100644 --- a/protocol/agl-shell-desktop.xml +++ b/protocol/agl-shell-desktop.xml @@ -22,16 +22,42 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - + This extension can be used by regular application to instruct to compositor to activate or switch to other running (regular) applications. The client - is responsbile for filtering their own app_id when receiving application id. + is responsible for filtering their own app_id when receiving application id. - Note that other (regular) applications can bind to this interface and there is - no mechanism to place to restrict or limit that. + The compositor will allow clients to bind to this interface only if the + policy engine allows it. + + + + + + + + + + + + + + + + + The compositor may choose to advertise one or more application ids which + can be used to activate/switch to. + + When this global is bound, the compositor will send all application ids + available for activation, but may send additional application id at any + time (when they've been mapped in the compositor). + + + + Ask the compositor to make a toplevel to become the current/focused @@ -41,7 +67,97 @@ description of app_id. + + + + + + + Ask the compositor to make a top-level window obey the 'app_role' enum + and, depending on that role, to use some of the arguments as initial + values to take into account. + + Note that x, y, bx, by, width and height would only make sense for the + pop-up role, with the output argument being applicable to all the roles. + The width and height values define the maximum area which the + top-level window should be placed into. Note this doesn't correspond to + top-level surface size, but to a bounding box which will be used to + clip the surface to, in case the surface area extends that of this + bounding box. Both of these values need to be larger than 0 (zero) to be + taken into account by the compositor. Any negative values for the width + and height will be discarded. + + The x and y values will serve as the (initial) position values. + The bx and by values are the top-left x and y value of the bounding box. + Any clipping happening to the bounding box will not affect the surface + size or the position of the underlying surface backing the top-level + window. The bx and by values, like the positional values, could be + both set to zero, or even negative values. The compositor will pass + those on without any further validation. + + The initial position values and the bounding rectangle will still be + in effect on a subsequent activation request of the 'app_id', assuming + it was previously de-activated at some point in time. + + See xdg_toplevel.set_app_id from the xdg-shell protocol for a + description of app_id. + + + + + + + + + + + + + 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. + + + + + + + Notifies application(s) when other application have suffered state modifications. + + + + + + + + + + + Use this request to inform the compositor to maintain a pending state + for an app_id being set with set_app_property() 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. + + + +