diff -Nru wayland-protocols-1.25/.gitlab-ci/debian-install.sh wayland-protocols-1.31/.gitlab-ci/debian-install.sh --- wayland-protocols-1.25/.gitlab-ci/debian-install.sh 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/.gitlab-ci/debian-install.sh 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,14 @@ +#!/bin/sh -eux + +# Note: don't forget to bump FDO_DISTRIBUTION_TAG when editing this file! + +git clone --branch 1.20.0 --depth=1 https://gitlab.freedesktop.org/wayland/wayland +cd wayland/ +git show -s HEAD +meson build/ -Dtests=false -Ddocumentation=false +ninja -j${FDO_CI_CONCURRENT:-4} -C build/ install +cd .. +rm -rf wayland/ + +echo "/usr/local/lib" >/etc/ld.so.conf.d/local.conf +ldconfig diff -Nru wayland-protocols-1.25/.gitlab-ci.yml wayland-protocols-1.31/.gitlab-ci.yml --- wayland-protocols-1.25/.gitlab-ci.yml 2022-01-28 16:00:40.727420800 +0000 +++ wayland-protocols-1.31/.gitlab-ci.yml 2022-11-29 13:37:41.000000000 +0000 @@ -19,8 +19,9 @@ .debian: variables: FDO_DISTRIBUTION_VERSION: bullseye - FDO_DISTRIBUTION_PACKAGES: 'build-essential pkg-config libwayland-dev meson' - FDO_DISTRIBUTION_TAG: '2021-11-09.0' + FDO_DISTRIBUTION_PACKAGES: 'build-essential pkg-config meson git ca-certificates libffi-dev libexpat1-dev libxml2-dev' + FDO_DISTRIBUTION_TAG: '2022-01-19.0' + FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} ./.gitlab-ci/debian-install.sh' check-commit: extends: @@ -52,3 +53,8 @@ - ninja -C build - meson test -C build - ninja -C build install + artifacts: + name: wayland-protocols-$CI_COMMIT_SHA + when: always + paths: + - $CI_PROJECT_DIR/build/meson-logs diff -Nru wayland-protocols-1.25/GOVERNANCE.md wayland-protocols-1.31/GOVERNANCE.md --- wayland-protocols-1.25/GOVERNANCE.md 2022-01-28 16:00:40.728420700 +0000 +++ wayland-protocols-1.31/GOVERNANCE.md 2022-11-29 13:37:41.000000000 +0000 @@ -77,7 +77,7 @@ implementations (either 1 client + 2 servers, or 2 clients + 1 server) to be eligible for inclusion. 5. Protocols in the "ext" namespace are eligible for inclusion only if ACKed by - at least one other member. + at least 2 members. 6. Protocols in the "ext" namespace must have at least one open-source client & one open-source server implementation to be eligible for inclusion. 7. "Open-source" is defined as distributed with an Open Source Initiative diff -Nru wayland-protocols-1.25/MEMBERS.md wayland-protocols-1.31/MEMBERS.md --- wayland-protocols-1.25/MEMBERS.md 2022-01-28 16:00:40.728420700 +0000 +++ wayland-protocols-1.31/MEMBERS.md 2022-11-29 13:37:41.000000000 +0000 @@ -9,7 +9,8 @@ Alan Griffiths - Qt: Eskil Abrahamsen Blomfeldt (@eskilblomfeldt) +- Smithay/Cosmic: Victoria Brekenfeld (@drakulix), - Weston: Pekka Paalanen (@pq), Daniel Stone (@daniels) -- wlroots/Sway: Drew DeVault (@ddevault), - Simon Ser (@emersion) +- wlroots/Sway: Simon Ser (@emersion), + Simon Zeni (@bl4ckb0ne) diff -Nru wayland-protocols-1.25/README.md wayland-protocols-1.31/README.md --- wayland-protocols-1.25/README.md 2022-01-28 16:00:40.728420700 +0000 +++ wayland-protocols-1.31/README.md 2022-11-29 13:37:41.000000000 +0000 @@ -141,6 +141,26 @@ only be done by creating a new major version of the extension. ``` +## Use of RFC 2119 keywords + +Descriptions of all new protocols must use (in lowercase) and adhere to the +proper meaning of the keywords described in +[RFC 2119](https://www.rfc-editor.org/info/rfc2119). + +All protocol descriptions that follow the guidelines in RFC 2119 must +incorporate the following text in their toplevel protocol description section: + +``` +The key words "must", "must not", "required", "shall", "shall not", "should", +"should not", "recommended", "may", and "optional" in this document are to +be interpreted as described in IETF RFC 2119. +``` + +Note that not all existing protocol descriptions conform to RFC 2119. Protocol +maintainers are encouraged to audit their descriptions, update them as needed +to follow RFC 2119 guidelines, and mark them as conformant in the way described +in the previous paragraph. + ## Backward compatible protocol changes A protocol may receive backward compatible additions and changes. This diff -Nru wayland-protocols-1.25/debian/changelog wayland-protocols-1.31/debian/changelog --- wayland-protocols-1.25/debian/changelog 2022-03-10 21:10:38.000000000 +0000 +++ wayland-protocols-1.31/debian/changelog 2023-12-01 01:04:16.000000000 +0000 @@ -1,8 +1,35 @@ -wayland-protocols (1.25-1~kisak~f) focal; urgency=medium +wayland-protocols (1.31-1~kisak~f) focal; urgency=low - * No change backport to focal + * No change backport to Focal - -- kisak Thu, 10 Mar 2022 16:10:38 -0500 + -- kisak Thu, 30 Nov 2023 20:04:16 -0500 + +wayland-protocols (1.31-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Fri, 13 Jan 2023 16:04:57 +0200 + +wayland-protocols (1.27-1) unstable; urgency=medium + + [ Debian Janitor ] + * Bump debhelper from old 10 to 13. + * Set debhelper-compat version in Build-Depends. + * Re-export upstream signing key without extra signatures. + * Update standards version to 4.6.0, no changes needed. + + [ Héctor Orón Martínez ] + * New upstream release + * debian/watch: update to new upstream release site + + -- Héctor Orón Martínez Fri, 14 Oct 2022 18:14:50 +0200 + +wayland-protocols (1.26-1) unstable; urgency=medium + + * New upstream release. + * debian/control: update meson build depends version + + -- Héctor Orón Martínez Fri, 08 Jul 2022 17:57:10 +0200 wayland-protocols (1.25-1) unstable; urgency=medium diff -Nru wayland-protocols-1.25/debian/compat wayland-protocols-1.31/debian/compat --- wayland-protocols-1.25/debian/compat 2022-02-01 16:35:00.000000000 +0000 +++ wayland-protocols-1.31/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -10 diff -Nru wayland-protocols-1.25/debian/control wayland-protocols-1.31/debian/control --- wayland-protocols-1.25/debian/control 2022-02-01 16:35:00.000000000 +0000 +++ wayland-protocols-1.31/debian/control 2023-01-13 13:59:54.000000000 +0000 @@ -5,11 +5,11 @@ Uploaders: Héctor Orón Martínez , Emilio Pozuelo Monfort Build-Depends: - debhelper (>=10), - meson (>= 0.54.0), + debhelper-compat (= 13), + meson (>= 0.55.0), libwayland-dev, pkg-config -Standards-Version: 4.5.0 +Standards-Version: 4.6.0 Rules-Requires-Root: no Homepage: http://wayland.freedesktop.org/ Vcs-Git: https://salsa.debian.org/xorg-team/wayland/wayland-protocols.git diff -Nru wayland-protocols-1.25/debian/upstream/signing-key.asc wayland-protocols-1.31/debian/upstream/signing-key.asc --- wayland-protocols-1.25/debian/upstream/signing-key.asc 2022-02-01 16:35:00.000000000 +0000 +++ wayland-protocols-1.31/debian/upstream/signing-key.asc 2023-01-13 13:59:54.000000000 +0000 @@ -11,110 +11,41 @@ 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 -=s6m5 +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 +DZQPjItg5ZWskA== +=+2XO -----END PGP PUBLIC KEY BLOCK----- diff -Nru wayland-protocols-1.25/debian/watch wayland-protocols-1.31/debian/watch --- wayland-protocols-1.25/debian/watch 2022-02-01 16:35:00.000000000 +0000 +++ wayland-protocols-1.31/debian/watch 2023-01-13 13:59:54.000000000 +0000 @@ -1,4 +1,3 @@ -#git=git://anongit.freedesktop.org/wayland/wayland-protocols -version=3 +version=4 opts=pgpsigurlmangle=s/$/.sig/ \ -https://wayland.freedesktop.org/releases.html releases/wayland-protocols-([\d].*)\.tar\.xz +https://wayland.freedesktop.org/releases.html https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/[\d].*/downloads/wayland-protocols-([\d].*)\.tar\.xz diff -Nru wayland-protocols-1.25/meson.build wayland-protocols-1.31/meson.build --- wayland-protocols-1.25/meson.build 2022-01-28 16:00:40.729421000 +0000 +++ wayland-protocols-1.31/meson.build 2022-11-29 13:37:41.000000000 +0000 @@ -1,6 +1,6 @@ project('wayland-protocols', - version: '1.25', - meson_version: '>= 0.54.0', + version: '1.31', + meson_version: '>= 0.55.0', license: 'MIT/Expat', ) @@ -36,9 +36,15 @@ } staging_protocols = { - 'xdg-activation': ['v1'], + 'content-type': ['v1'], 'drm-lease': ['v1'], + 'ext-idle-notify': ['v1'], 'ext-session-lock': ['v1'], + 'fractional-scale': ['v1'], + 'single-pixel-buffer': ['v1'], + 'tearing-control': ['v1'], + 'xdg-activation': ['v1'], + 'xwayland-shell': ['v1'], } protocol_files = [] diff -Nru wayland-protocols-1.25/stable/presentation-time/presentation-time.xml wayland-protocols-1.31/stable/presentation-time/presentation-time.xml --- wayland-protocols-1.25/stable/presentation-time/presentation-time.xml 2022-01-28 16:00:40.729421000 +0000 +++ wayland-protocols-1.31/stable/presentation-time/presentation-time.xml 2022-11-29 13:37:41.000000000 +0000 @@ -198,7 +198,7 @@ - + The associated content update was displayed to the user at the indicated time (tv_sec_hi/lo, tv_nsec). For the interpretation of @@ -256,7 +256,7 @@ - + The content update was never displayed to the user. diff -Nru wayland-protocols-1.25/stable/viewporter/viewporter.xml wayland-protocols-1.31/stable/viewporter/viewporter.xml --- wayland-protocols-1.25/stable/viewporter/viewporter.xml 2022-01-28 16:00:40.729421000 +0000 +++ wayland-protocols-1.31/stable/viewporter/viewporter.xml 2022-11-29 13:37:41.000000000 +0000 @@ -111,12 +111,6 @@ when the surface state is applied. A NULL wl_buffer does not raise the out_of_buffer error. - The x, y arguments of wl_surface.attach are applied as normal to - the surface. They indicate how many pixels to remove from the - surface size from the left and the top. In other words, they are - still in the surface-local coordinate system, just like dst_width - and dst_height are. - If the wl_surface associated with the wp_viewport is destroyed, all wp_viewport requests except 'destroy' raise the protocol error no_surface. diff -Nru wayland-protocols-1.25/stable/xdg-shell/xdg-shell.xml wayland-protocols-1.31/stable/xdg-shell/xdg-shell.xml --- wayland-protocols-1.25/stable/xdg-shell/xdg-shell.xml 2022-01-28 16:00:40.730420800 +0000 +++ wayland-protocols-1.31/stable/xdg-shell/xdg-shell.xml 2022-11-29 13:37:41.000000000 +0000 @@ -29,7 +29,7 @@ DEALINGS IN THE SOFTWARE. - + The xdg_wm_base interface is exposed as a global object enabling clients to turn their wl_surfaces into windows in a desktop environment. It @@ -50,6 +50,8 @@ summary="the client provided an invalid surface state"/> + @@ -58,7 +60,7 @@ Destroying a bound xdg_wm_base object while there are surfaces still alive created by this xdg_wm_base object instance is illegal - and will result in a protocol error. + and will result in a defunct_surfaces error. @@ -77,7 +79,7 @@ itself is not a role, the corresponding surface may only be assigned a role extending xdg_surface, such as xdg_toplevel or xdg_popup. It is illegal to create an xdg_surface for a wl_surface which already has an - assigned role and this will result in a protocol error. + assigned role and this will result in a role error. This creates an xdg_surface for the given surface. An xdg_surface is used as basis to define a role to a given surface, such as xdg_toplevel @@ -94,7 +96,8 @@ A client must respond to a ping event with a pong request or - the client may be deemed unresponsive. See xdg_wm_base.ping. + the client may be deemed unresponsive. See xdg_wm_base.ping + and xdg_wm_base.error.unresponsive. @@ -108,7 +111,9 @@ Compositors can use this to determine if the client is still alive. It's unspecified what will happen if the client doesn't respond to the ping request, or in what timeframe. Clients should - try to respond in a reasonable amount of time. + try to respond in a reasonable amount of time. The “unresponsive” + error is provided for compositors that wish to disconnect unresponsive + clients. A compositor is free to ping in any way it wants, but a client must always respond to any xdg_wm_base object it created. @@ -117,7 +122,7 @@ - + The xdg_positioner provides a collection of rules for the placement of a child surface relative to a parent surface. Rules can be defined to ensure @@ -137,7 +142,7 @@ For an xdg_positioner object to be considered complete, it must have a non-zero size set by set_size, and a non-zero anchor rectangle set by set_anchor_rect. Passing an incomplete xdg_positioner object when - positioning a surface raises an error. + positioning a surface raises an invalid_positioner error. @@ -225,7 +230,8 @@ specified (e.g. 'bottom_right' or 'top_left'), then the child surface will be placed towards the specified gravity; otherwise, the child surface will be centered over the anchor point on any axis that had no - gravity specified. + gravity specified. If the gravity is not in the ‘gravity’ enum, an + invalid_input error is raised. @@ -401,7 +407,7 @@ - + An interface that may be implemented by a wl_surface, for implementations that provide a desktop-style user interface. @@ -451,15 +457,25 @@ - - - + + + + + + Destroy the xdg_surface object. An xdg_surface must only be destroyed - after its role object has been destroyed. + after its role object has been destroyed, otherwise + a defunct_role_object error is raised. @@ -517,10 +533,10 @@ the wl_surface associated with this xdg_surface. The width and height must be greater than zero. Setting an invalid size - will raise an error. When applied, the effective window geometry will be - the set window geometry clamped to the bounding rectangle of the - combined geometry of the surface of the xdg_surface and the associated - subsurfaces. + will raise an invalid_size error. When applied, the effective window + geometry will be the set window geometry clamped to the bounding + rectangle of the combined geometry of the surface of the xdg_surface and + the associated subsurfaces. @@ -541,6 +557,8 @@ If the client receives multiple configure events before it can respond to one, it only has to ack the last configure event. + Acking a configure event that was never sent raises an invalid_serial + error. A client is not required to commit immediately after sending an ack_configure request - it may even ack_configure several times @@ -549,6 +567,17 @@ A client may send multiple ack_configure requests before committing, but only the last request sent before a commit indicates which configure event the client really is responding to. + + Sending an ack_configure request consumes the serial number sent with + the request, as well as serial numbers sent by all configure events + sent on this xdg_surface prior to the configure event referenced by + the committed serial. + + It is an error to issue multiple ack_configure requests referencing a + serial from the same configure event, or to issue an ack_configure + request referencing a serial from a configure event issued before the + event identified by the last ack_configure request for the same + xdg_surface. Doing so will raise an invalid_serial error. @@ -577,7 +606,7 @@ - + This interface defines an xdg_surface role which allows a surface to, among other things, set window-like properties such as maximize, @@ -608,6 +637,10 @@ + + @@ -615,19 +648,23 @@ Set the "parent" of this surface. This surface should be stacked above the parent surface and all other ancestor surfaces. - Parent windows should be set on dialogs, toolboxes, or other + Parent surfaces should be set on dialogs, toolboxes, or other "auxiliary" surfaces, so that the parent is raised when the dialog is raised. - Setting a null parent for a child window removes any parent-child - relationship for the child. Setting a null parent for a window which - currently has no parent is a no-op. - - If the parent is unmapped then its children are managed as - though the parent of the now-unmapped parent has become the - parent of this surface. If no parent exists for the now-unmapped - parent then the children are managed as though they have no - parent surface. + Setting a null parent for a child surface unsets its parent. Setting + a null parent for a surface which currently has no parent is a no-op. + + Only mapped surfaces can have child surfaces. Setting a parent which + is not mapped is equivalent to setting a null parent. If a surface + becomes unmapped, its children's parent is set to the parent of + the now-unmapped surface. If the now-unmapped surface has no parent, + its children's parent is unset. If the now-unmapped surface becomes + mapped again, its parent-child relationship is not restored. + + The parent toplevel must not be one of the child toplevel's + descendants, and the parent must be different from the child toplevel, + otherwise the invalid_parent protocol error is raised. @@ -669,7 +706,7 @@ application identifiers and how they relate to well-known D-Bus names and .desktop files. - [0] http://standards.freedesktop.org/desktop-entry-spec/ + [0] https://standards.freedesktop.org/desktop-entry-spec/ @@ -683,7 +720,8 @@ This request asks the compositor to pop up such a window menu at the given position, relative to the local surface coordinates of the parent surface. There are no guarantees as to what menu items - the window menu contains. + the window menu contains, or even if a window menu will be drawn + at all. This request must be used in response to some sort of user action like a button press, key press, or touch down event. @@ -872,11 +910,11 @@ request. Requesting a maximum size to be smaller than the minimum size of - a surface is illegal and will result in a protocol error. + a surface is illegal and will result in an invalid_size error. The width and height must be greater than or equal to zero. Using - strictly negative values for width and height will result in a - protocol error. + strictly negative values for width or height will result in a + invalid_size error. @@ -913,11 +951,11 @@ request. Requesting a minimum size to be larger than the maximum size of - a surface is illegal and will result in a protocol error. + a surface is illegal and will result in an invalid_size error. The width and height must be greater than or equal to zero. Using strictly negative values for width and height will result in a - protocol error. + invalid_size error. @@ -1100,9 +1138,44 @@ + + + + + + + + + + + + + This event advertises the capabilities supported by the compositor. If + a capability isn't supported, clients should hide or disable the UI + elements that expose this functionality. For instance, if the + compositor doesn't advertise support for minimized toplevels, a button + triggering the set_minimized request should not be displayed. + + The compositor will ignore requests it doesn't support. For instance, + a compositor which doesn't advertise support for minimized will ignore + set_minimized requests. + + Compositors must send this event once before the first + xdg_surface.configure event. When the capabilities change, compositors + must send this event again and then send an xdg_surface.configure + event. + + The configured state should not be applied immediately. See + xdg_surface.configure for details. + + The capabilities are sent as an array of 32-bit unsigned integers in + native endianness. + + + - + A popup surface is a short-lived, temporary surface. It can be used to implement for example menus, popovers, tooltips and other similar user @@ -1173,10 +1246,6 @@ nested grabbing popup as well. When a compositor dismisses popups, it will follow the same dismissing order as required from the client. - The parent of a grabbing popup must either be another xdg_popup with an - active explicit grab, or an xdg_popup or xdg_toplevel, if there are no - explicit grabs already taken. - If the topmost grabbing popup is destroyed, the grab will be returned to the parent of the popup, if that parent previously had an explicit grab. diff -Nru wayland-protocols-1.25/staging/content-type/README wayland-protocols-1.31/staging/content-type/README --- wayland-protocols-1.25/staging/content-type/README 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/content-type/README 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,5 @@ +Content type hint protocol + +Maintainers: +Emmanuel Gil Peyrot +Xaver Hugl diff -Nru wayland-protocols-1.25/staging/content-type/content-type-v1.xml wayland-protocols-1.31/staging/content-type/content-type-v1.xml --- wayland-protocols-1.25/staging/content-type/content-type-v1.xml 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/content-type/content-type-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,128 @@ + + + + Copyright © 2021 Emmanuel Gil Peyrot + Copyright © 2022 Xaver Hugl + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + + This interface allows a client to describe the kind of content a surface + will display, to allow the compositor to optimize its behavior for it. + + Warning! The protocol described in this file is currently in the testing + phase. Backward compatible changes may be added together with the + corresponding interface version bump. Backward incompatible changes can + only be done by creating a new major version of the extension. + + + + + Destroy the content type manager. This doesn't destroy objects created + with the manager. + + + + + + + + + + Create a new content type object associated with the given surface. + + Creating a wp_content_type_v1 from a wl_surface which already has one + attached is a client error: already_constructed. + + + + + + + + + The content type object allows the compositor to optimize for the kind + of content shown on the surface. A compositor may for example use it to + set relevant drm properties like "content type". + + The client may request to switch to another content type at any time. + When the associated surface gets destroyed, this object becomes inert and + the client should destroy it. + + + + + Switch back to not specifying the content type of this surface. This is + equivalent to setting the content type to none, including double + buffering semantics. See set_content_type for details. + + + + + + These values describe the available content types for a surface. + + + + The content type none means that either the application has no data + about the content type, or that the content doesn't fit into one of + the other categories. + + + + + The content type photo describes content derived from digital still + pictures and may be presented with minimal processing. + + + + + The content type video describes a video or animation and may be + presented with more accurate timing to avoid stutter. Where scaling + is needed, scaling methods more appropriate for video may be used. + + + + + The content type game describes a running game. Its content may be + presented with reduced latency. + + + + + + + Set the surface content type. This informs the compositor that the + client believes it is displaying buffers matching this content type. + + This is purely a hint for the compositor, which can be used to adjust + its behavior or hardware settings to fit the presented content best. + + The content type is double-buffered state, see wl_surface.commit for + details. + + + + + diff -Nru wayland-protocols-1.25/staging/drm-lease/drm-lease-v1.xml wayland-protocols-1.31/staging/drm-lease/drm-lease-v1.xml --- wayland-protocols-1.25/staging/drm-lease/drm-lease-v1.xml 2022-01-28 16:00:40.730420800 +0000 +++ wayland-protocols-1.31/staging/drm-lease/drm-lease-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -120,7 +120,7 @@ - + This event is sent in response to the release request and indicates that the compositor is done sending connector events. diff -Nru wayland-protocols-1.25/staging/ext-idle-notify/README wayland-protocols-1.31/staging/ext-idle-notify/README --- wayland-protocols-1.25/staging/ext-idle-notify/README 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/ext-idle-notify/README 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,4 @@ +idle_notify protocol + +Maintainers: +Simon Ser diff -Nru wayland-protocols-1.25/staging/ext-idle-notify/ext-idle-notify-v1.xml wayland-protocols-1.31/staging/ext-idle-notify/ext-idle-notify-v1.xml --- wayland-protocols-1.25/staging/ext-idle-notify/ext-idle-notify-v1.xml 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/ext-idle-notify/ext-idle-notify-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,102 @@ + + + + Copyright © 2015 Martin Gräßlin + Copyright © 2022 Simon Ser + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + + This interface allows clients to monitor user idle status. + + After binding to this global, clients can create ext_idle_notification_v1 + objects to get notified when the user is idle for a given amount of time. + + + + + Destroy the manager object. All objects created via this interface + remain valid. + + + + + + Create a new idle notification object. + + The notification object has a minimum timeout duration and is tied to a + seat. The client will be notified if the seat is inactive for at least + the provided timeout. See ext_idle_notification_v1 for more details. + + A zero timeout is valid and means the client wants to be notified as + soon as possible when the seat is inactive. + + + + + + + + + + This interface is used by the compositor to send idle notification events + to clients. + + Initially the notification object is not idle. The notification object + becomes idle when no user activity has happened for at least the timeout + duration, starting from the creation of the notification object. User + activity may include input events or a presence sensor, but is + compositor-specific. If an idle inhibitor is active (e.g. another client + has created a zwp_idle_inhibitor_v1 on a visible surface), the compositor + must not make the notification object idle. + + When the notification object becomes idle, an idled event is sent. When + user activity starts again, the notification object stops being idle, + a resumed event is sent and the timeout is restarted. + + + + + Destroy the notification object. + + + + + + This event is sent when the notification object becomes idle. + + It's a compositor protocol error to send this event twice without a + resumed event in-between. + + + + + + This event is sent when the notification object stops being idle. + + It's a compositor protocol error to send this event twice without an + idled event in-between. It's a compositor protocol error to send this + event prior to any idled event. + + + + diff -Nru wayland-protocols-1.25/staging/ext-session-lock/ext-session-lock-v1.xml wayland-protocols-1.31/staging/ext-session-lock/ext-session-lock-v1.xml --- wayland-protocols-1.25/staging/ext-session-lock/ext-session-lock-v1.xml 2022-01-28 16:00:40.731421000 +0000 +++ wayland-protocols-1.31/staging/ext-session-lock/ext-session-lock-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -187,6 +187,14 @@ It is a protocol error to make this request if the locked event has not been sent. In that case, the lock object may only be destroyed using the destroy request. + + Note that a correct client that wishes to exit directly after unlocking + the session must use the wl_display.sync request to ensure the server + receives and processes the unlock_and_destroy request. Otherwise + there is no guarantee that the server has unlocked the session due + to the asynchronous nature of the Wayland protocol. For example, + the server might terminate the client with a protocol error before + it processes the unlock_and_destroy request. diff -Nru wayland-protocols-1.25/staging/fractional-scale/README wayland-protocols-1.31/staging/fractional-scale/README --- wayland-protocols-1.25/staging/fractional-scale/README 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/fractional-scale/README 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,4 @@ +wp fractional scale protocol + +Maintainers: +Kenny Levinsen diff -Nru wayland-protocols-1.25/staging/fractional-scale/fractional-scale-v1.xml wayland-protocols-1.31/staging/fractional-scale/fractional-scale-v1.xml --- wayland-protocols-1.25/staging/fractional-scale/fractional-scale-v1.xml 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/fractional-scale/fractional-scale-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,102 @@ + + + + Copyright © 2022 Kenny Levinsen + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + This protocol allows a compositor to suggest for surfaces to render at + fractional scales. + + A client can submit scaled content by utilizing wp_viewport. This is done by + creating a wp_viewport object for the surface and setting the destination + rectangle to the surface size before the scale factor is applied. + + The buffer size is calculated by multiplying the surface size by the + intended scale. + + The wl_surface buffer scale should remain set to 1. + + If a surface has a surface-local size of 100 px by 50 px and wishes to + submit buffers with a scale of 1.5, then a buffer of 150px by 75 px should + be used and the wp_viewport destination rectangle should be 100 px by 50 px. + + For toplevel surfaces, the size is rounded halfway away from zero. The + rounding algorithm for subsurface position and size is not defined. + + + + + A global interface for requesting surfaces to use fractional scales. + + + + + Informs the server that the client will not be using this protocol + object anymore. This does not affect any other objects, + wp_fractional_scale_v1 objects included. + + + + + + + + + + Create an add-on object for the the wl_surface to let the compositor + request fractional scales. If the given wl_surface already has a + wp_fractional_scale_v1 object associated, the fractional_scale_exists + protocol error is raised. + + + + + + + + + An additional interface to a wl_surface object which allows the compositor + to inform the client of the preferred scale. + + + + + Destroy the fractional scale object. When this object is destroyed, + preferred_scale events will no longer be sent. + + + + + + Notification of a new preferred scale for this surface that the + compositor suggests that the client should use. + + The sent scale is the numerator of a fraction with a denominator of 120. + + + + + diff -Nru wayland-protocols-1.25/staging/single-pixel-buffer/README wayland-protocols-1.31/staging/single-pixel-buffer/README --- wayland-protocols-1.25/staging/single-pixel-buffer/README 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/single-pixel-buffer/README 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,4 @@ +Single-pixel buffer protocol + +Maintainers: +Simon Ser diff -Nru wayland-protocols-1.25/staging/single-pixel-buffer/single-pixel-buffer-v1.xml wayland-protocols-1.31/staging/single-pixel-buffer/single-pixel-buffer-v1.xml --- wayland-protocols-1.25/staging/single-pixel-buffer/single-pixel-buffer-v1.xml 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/single-pixel-buffer/single-pixel-buffer-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,69 @@ + + + + Copyright © 2022 Simon Ser + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + This protocol extension allows clients to create single-pixel buffers. + + Compositors supporting this protocol extension should also support the + viewporter protocol extension. Clients may use viewporter to scale a + single-pixel buffer to a desired size. + + Warning! The protocol described in this file is currently in the testing + phase. Backward compatible changes may be added together with the + corresponding interface version bump. Backward incompatible changes can + only be done by creating a new major version of the extension. + + + + + The wp_single_pixel_buffer_manager_v1 interface is a factory for + single-pixel buffers. + + + + + Destroy the wp_single_pixel_buffer_manager_v1 object. + + The child objects created via this interface are unaffected. + + + + + + Create a single-pixel buffer from four 32-bit RGBA values. + + Unless specified in another protocol extension, the RGBA values use + pre-multiplied alpha. + + The width and height of the buffer are 1. + + + + + + + + + diff -Nru wayland-protocols-1.25/staging/tearing-control/README wayland-protocols-1.31/staging/tearing-control/README --- wayland-protocols-1.25/staging/tearing-control/README 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/tearing-control/README 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,4 @@ +Tearing control protocol + +Maintainers: +Xaver Hugl diff -Nru wayland-protocols-1.25/staging/tearing-control/tearing-control-v1.xml wayland-protocols-1.31/staging/tearing-control/tearing-control-v1.xml --- wayland-protocols-1.25/staging/tearing-control/tearing-control-v1.xml 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/tearing-control/tearing-control-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,120 @@ + + + + Copyright © 2021 Xaver Hugl + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + + For some use cases like games or drawing tablets it can make sense to + reduce latency by accepting tearing with the use of asynchronous page + flips. This global is a factory interface, allowing clients to inform + which type of presentation the content of their surfaces is suitable for. + + Graphics APIs like EGL or Vulkan, that manage the buffer queue and commits + of a wl_surface themselves, are likely to be using this extension + internally. If a client is using such an API for a wl_surface, it should + not directly use this extension on that surface, to avoid raising a + tearing_control_exists protocol error. + + Warning! The protocol described in this file is currently in the testing + phase. Backward compatible changes may be added together with the + corresponding interface version bump. Backward incompatible changes can + only be done by creating a new major version of the extension. + + + + + Destroy this tearing control factory object. Other objects, including + wp_tearing_control_v1 objects created by this factory, are not affected + by this request. + + + + + + + + + + Instantiate an interface extension for the given wl_surface to request + asynchronous page flips for presentation. + + If the given wl_surface already has a wp_tearing_control_v1 object + associated, the tearing_control_exists protocol error is raised. + + + + + + + + + An additional interface to a wl_surface object, which allows the client + to hint to the compositor if the content on the surface is suitable for + presentation with tearing. + The default presentation hint is vsync. See presentation_hint for more + details. + + + + + This enum provides information for if submitted frames from the client + may be presented with tearing. + + + + The content of this surface is meant to be synchronized to the + vertical blanking period. This should not result in visible tearing + and may result in a delay before a surface commit is presented. + + + + + The content of this surface is meant to be presented with minimal + latency and tearing is acceptable. + + + + + + + Set the presentation hint for the associated wl_surface. This state is + double-buffered and is applied on the next wl_surface.commit. + + The compositor is free to dynamically respect or ignore this hint based + on various conditions like hardware capabilities, surface state and + user preferences. + + + + + + + Destroy this surface tearing object and revert the presentation hint to + vsync. The change will be applied on the next wl_surface.commit. + + + + + diff -Nru wayland-protocols-1.25/staging/xwayland-shell/README wayland-protocols-1.31/staging/xwayland-shell/README --- wayland-protocols-1.25/staging/xwayland-shell/README 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/xwayland-shell/README 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,4 @@ +Xwayland shell protocol + +Maintainers: +Joshua Ashton diff -Nru wayland-protocols-1.25/staging/xwayland-shell/xwayland-shell-v1.xml wayland-protocols-1.31/staging/xwayland-shell/xwayland-shell-v1.xml --- wayland-protocols-1.25/staging/xwayland-shell/xwayland-shell-v1.xml 1970-01-01 00:00:00.000000000 +0000 +++ wayland-protocols-1.31/staging/xwayland-shell/xwayland-shell-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -0,0 +1,162 @@ + + + + + Copyright © 2022 Joshua Ashton + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + + This protocol adds a xwayland_surface role which allows an Xwayland + server to associate an X11 window to a wl_surface. + + Before this protocol, this would be done via the Xwayland server + providing the wl_surface's resource id via the a client message with + the WL_SURFACE_ID atom on the X window. + This was problematic as a race could occur if the wl_surface + associated with a WL_SURFACE_ID for a window was destroyed before the + client message was processed by the compositor and another surface + (or other object) had taken its id due to recycling. + + This protocol solves the problem by moving the X11 window to wl_surface + association step to the Wayland side, which means that the association + cannot happen out-of-sync with the resource lifetime of the wl_surface. + + This protocol avoids duplicating the race on the other side by adding a + non-zero monotonic serial number which is entirely unique that is set on + both the wl_surface (via. xwayland_surface_v1's set_serial method) and + the X11 window (via. the `WL_SURFACE_SERIAL` client message) that can be + used to associate them, and synchronize the two timelines. + + The key words "must", "must not", "required", "shall", "shall not", + "should", "should not", "recommended", "may", and "optional" in this + document are to be interpreted as described in IETF RFC 2119. + + Warning! The protocol described in this file is currently in the testing + phase. Backward compatible changes may be added together with the + corresponding interface version bump. Backward incompatible changes can + only be done by creating a new major version of the extension. + + + + + xwayland_shell_v1 is a singleton global object that + provides the ability to create a xwayland_surface_v1 object + for a given wl_surface. + + This interface is intended to be bound by the Xwayland server. + + A compositor must not allow clients other than Xwayland to + bind to this interface. A compositor should hide this global + from other clients' wl_registry. + A client the compositor does not consider to be an Xwayland + server attempting to bind this interface will result in + an implementation-defined error. + + An Xwayland server that has bound this interface must not + set the `WL_SURFACE_ID` atom on a window. + + + + + + + + + Destroy the xwayland_shell_v1 object. + + The child objects created via this interface are unaffected. + + + + + + Create an xwayland_surface_v1 interface for a given wl_surface + object and gives it the xwayland_surface role. + + It is illegal to create an xwayland_surface_v1 for a wl_surface + which already has an assigned role and this will result in the + `role` protocol error. + + See the documentation of xwayland_surface_v1 for more details + about what an xwayland_surface_v1 is and how it is used. + + + + + + + + + + An Xwayland surface is a surface managed by an Xwayland server. + It is used for associating surfaces to Xwayland windows. + + The Xwayland server associated with actions in this interface is + determined by the Wayland client making the request. + + The client must call wl_surface.commit on the corresponding wl_surface + for the xwayland_surface_v1 state to take effect. + + + + + + + + + + Associates an Xwayland window to a wl_surface. + The association state is double-buffered and will be applied at + the time wl_surface.commit of the corresponding wl_surface is called. + + The `serial_lo` and `serial_hi` parameters specify a non-zero + monotonic serial number which is entirely unique and provided by the + Xwayland server equal to the serial value provided by a client message + with a message type of the `WL_SURFACE_SERIAL` atom on the X11 window + for this surface to be associated to. + + The serial value in the `WL_SURFACE_SERIAL` client message is specified + as having the lo-bits specified in `l[0]` and the hi-bits specified + in `l[1]`. + + If the serial value provided by `serial_lo` and `serial_hi` is not + valid, the `invalid_serial` protocol error will be raised. + + An X11 window may be associated with multiple surfaces throughout its + lifespan. (eg. unmapping and remapping a window). + + For each wl_surface, this state must not be committed more than once, + otherwise the `already_associated` protocol error will be raised. + + + + + + + + Destroy the xwayland_surface_v1 object. + + Any already existing associations are unaffected by this action. + + + + diff -Nru wayland-protocols-1.25/tests/meson.build wayland-protocols-1.31/tests/meson.build --- wayland-protocols-1.25/tests/meson.build 2022-01-28 16:00:40.731421000 +0000 +++ wayland-protocols-1.31/tests/meson.build 2022-11-29 13:37:41.000000000 +0000 @@ -1,6 +1,6 @@ prog_scan_sh = find_program('scan.sh') -dep_scanner = dependency('wayland-scanner', native: true) -prog_scanner = find_program(dep_scanner.get_pkgconfig_variable('wayland_scanner')) +dep_scanner = dependency('wayland-scanner', version: '>=1.20.0', native: true) +prog_scanner = find_program(dep_scanner.get_variable(pkgconfig: 'wayland_scanner')) libwayland = [ dependency('wayland-client'), @@ -14,7 +14,7 @@ test(test_name, prog_scan_sh, args: protocol_path, env: [ - 'SCANNER=@0@'.format(prog_scanner.path()), + 'SCANNER=@0@'.format(prog_scanner.full_path()), ] ) endforeach diff -Nru wayland-protocols-1.25/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml wayland-protocols-1.31/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml --- wayland-protocols-1.25/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml 2022-01-28 16:00:40.733420800 +0000 +++ wayland-protocols-1.31/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -217,7 +217,7 @@ - + This event indicates that the attempted mode switch operation was successful. A surface of the size requested in the mode switch @@ -228,7 +228,7 @@ - + This event indicates that the attempted mode switch operation failed. This may be because the requested output mode is not @@ -239,7 +239,7 @@ - + This event indicates that the attempted mode switch operation was cancelled. Most likely this is because the client requested a diff -Nru wayland-protocols-1.25/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml wayland-protocols-1.31/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml --- wayland-protocols-1.25/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml 2022-01-28 16:00:40.736420900 +0000 +++ wayland-protocols-1.31/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -413,16 +413,16 @@ configuration. In particular, compositors should avoid sending the exact same parameters multiple times in a row. - The tranche_target_device and tranche_modifier events are grouped by + The tranche_target_device and tranche_formats events are grouped by tranches of preference. For each tranche, a tranche_target_device, one - tranche_flags and one or more tranche_modifier events are sent, followed + tranche_flags and one or more tranche_formats events are sent, followed by a tranche_done event finishing the list. The tranches are sent in descending order of preference. All formats and modifiers in the same tranche have the same preference. To send parameters, the compositor sends one main_device event, tranches (each consisting of one tranche_target_device event, one tranche_flags - event, tranche_modifier events and then a tranche_done event), then one + event, tranche_formats events and then a tranche_done event), then one done event. @@ -495,9 +495,9 @@ - This event splits tranche_target_device and tranche_modifier events in + This event splits tranche_target_device and tranche_formats events in preference tranches. It is sent after a set of tranche_target_device - and tranche_modifier events; it represents the end of a tranche. The + and tranche_formats events; it represents the end of a tranche. The next tranche will have a lower preference. diff -Nru wayland-protocols-1.25/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml wayland-protocols-1.31/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml --- wayland-protocols-1.25/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml 2022-01-28 16:00:40.736420900 +0000 +++ wayland-protocols-1.31/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml 2022-11-29 13:37:41.000000000 +0000 @@ -219,7 +219,7 @@ 'immediate_release' event it is automatically destroyed. - + Sent when the compositor has finalised its usage of the associated buffer for the relevant commit, providing a dma_fence which will be @@ -236,7 +236,7 @@ - + Sent when the compositor has finalised its usage of the associated buffer for the relevant commit, and either performed no operations diff -Nru wayland-protocols-1.25/unstable/tablet/tablet-unstable-v2.xml wayland-protocols-1.31/unstable/tablet/tablet-unstable-v2.xml --- wayland-protocols-1.25/unstable/tablet/tablet-unstable-v2.xml 2022-01-28 16:00:40.739421100 +0000 +++ wayland-protocols-1.31/unstable/tablet/tablet-unstable-v2.xml 2022-11-29 13:37:41.000000000 +0000 @@ -1156,7 +1156,7 @@ - + Notification that this pad is no longer focused on the specified surface. diff -Nru wayland-protocols-1.25/unstable/text-input/text-input-unstable-v3.xml wayland-protocols-1.31/unstable/text-input/text-input-unstable-v3.xml --- wayland-protocols-1.25/unstable/text-input/text-input-unstable-v3.xml 2022-01-28 16:00:40.740421000 +0000 +++ wayland-protocols-1.31/unstable/text-input/text-input-unstable-v3.xml 2022-11-29 13:37:41.000000000 +0000 @@ -422,9 +422,14 @@ The serial number reflects the last state of the zwp_text_input_v3 object known to the compositor. The value of the serial argument must be equal to the number of commit requests already issued on that object. + When the client receives a done event with a serial different than the - number of past commit requests, it must proceed as normal, except it - should not change the current state of the zwp_text_input_v3 object. + number of past commit requests, it must proceed with evaluating and + applying the changes as normal, except it should not change the current + state of the zwp_text_input_v3 object. All pending state requests + (set_surrounding_text, set_content_type and set_cursor_rectangle) on + the zwp_text_input_v3 object should be sent and committed after + receiving a zwp_text_input_v3.done event with a matching serial.