X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=protocol%2Fagl-shell-desktop.xml;h=e4445bd071f242b229789c68dc71d04ea2eed140;hb=HEAD;hp=4f942f5aae0f0ec52ade792891d3b0bce9f7dc2b;hpb=978c7f8c63d118a0fa8fcaab8d1d7d141be4767c;p=src%2Fagl-compositor.git diff --git a/protocol/agl-shell-desktop.xml b/protocol/agl-shell-desktop.xml index 4f942f5..e4445bd 100644 --- a/protocol/agl-shell-desktop.xml +++ b/protocol/agl-shell-desktop.xml @@ -22,14 +22,14 @@ 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. @@ -43,6 +43,7 @@ + @@ -72,9 +73,31 @@ - Ask the compositor to make a toplevel obey the app_role and, depending - on the role, to use the the x and y values as initial positional values. - The x and y values would only make sense for certain roles. + 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. @@ -83,6 +106,10 @@ + + + + @@ -91,7 +118,7 @@ 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 activate surface) or temporarly (or + 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. @@ -112,5 +139,25 @@ + + + + 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. + + + +