diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml index 39ecf8a..12e5db2 100644 --- a/stable/xdg-shell/xdg-shell.xml +++ b/stable/xdg-shell/xdg-shell.xml @@ -1093,16 +1093,16 @@ it's up to the compositor to choose which display will be used to map this surface. - If the surface doesn't cover the whole output, the compositor will - position the surface in the center of the output and compensate with - with border fill covering the rest of the output. The content of the - border fill is undefined, but should be assumed to be in some way that - attempts to blend into the surrounding area (e.g. solid black). + If the surface doesn't cover the whole output or isn't opaque, + the compositor may apply either of the behaviors described by the + fullscreen_behavior enum. + While compositors are recommended to apply the opaqueness_enforced + behavior for best backwards compatibility with protocol versions 6 + and ealier, this is not implemented by all compositors, so clients + can't fully rely on it. - If the fullscreened surface is not opaque, the compositor must make - sure that other screen content not part of the same surface tree (made - up of subsurfaces, popups or similarly coupled surfaces) are not - visible below the fullscreened surface. + If a specific behavior is desired, it should be explicitly requested + with set_fullscreen_2. @@ -1211,8 +1211,16 @@ - + + + Starting with version 7, this also means set_fullscreen_2 is available. + + + + @@ -1240,6 +1248,52 @@ + + + + + If the surface doesn't cover the whole output, the compositor will + position the surface in the center of the output and compensate with + with border fill covering the rest of the output. The content of the + border fill is undefined, but should be assumed to be in some way that + attempts to blend into the surrounding area (e.g. solid black). + + If the fullscreened surface is not opaque, the compositor must make + sure that other screen content not part of the same surface tree (made + up of subsurfaces, popups or similarly coupled surfaces) are not + visible below the fullscreened surface. + + + + + If the surface doesn't cover the whole output, the behavior is + compositor-specific. The client should avoid this situation. + + If the fullscreened surface is not opaque, the compositor should + show elements below the surface tree. + + + + + + + + Make the surface fullscreen with the desired behavior. + + After requesting that the surface should be fullscreened, the + compositor will respond by emitting a configure event. Whether the + client is actually put into a fullscreen state is subject to compositor + policies. The client must also acknowledge the configure when + committing the new content (see ack_configure). + + The output passed by the request indicates the client's preference as + to which display it should be set fullscreen on. If this value is NULL, + it's up to the compositor to choose which display will be used to map + this surface. + + + +