Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wayland-protocols for 
openSUSE:Factory checked in at 2024-09-10 21:12:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wayland-protocols (Old)
 and      /work/SRC/openSUSE:Factory/.wayland-protocols.new.17570 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wayland-protocols"

Tue Sep 10 21:12:23 2024 rev:40 rq:1199646 version:1.37

Changes:
--------
--- /work/SRC/openSUSE:Factory/wayland-protocols/wayland-protocols.changes      
2024-06-03 17:42:50.857672510 +0200
+++ 
/work/SRC/openSUSE:Factory/.wayland-protocols.new.17570/wayland-protocols.changes
   2024-09-10 21:12:27.616104969 +0200
@@ -1,0 +2,13 @@
+Sun Sep  1 17:36:56 UTC 2024 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 1.37:
+  + This release contains three new protocols:
+    - xdg-toplevel-icon: Associate an icon with a toplevel window.
+    - ext-image-capture-source
+    - ext-image-copy-capture: A set of protocols that together
+      allow capturing the pixel content of outputs and toplevels.
+  + Apart from this, it includes the usual protocol documentation
+    improvements and fixes, as well as clarification of existing
+    protocol review practices.
+
+-------------------------------------------------------------------

Old:
----
  wayland-protocols-1.36.tar.xz
  wayland-protocols-1.36.tar.xz.sig

New:
----
  wayland-protocols-1.37.tar.xz
  wayland-protocols-1.37.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wayland-protocols.spec ++++++
--- /var/tmp/diff_new_pack.T899Yz/_old  2024-09-10 21:12:28.784153634 +0200
+++ /var/tmp/diff_new_pack.T899Yz/_new  2024-09-10 21:12:28.788153801 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           wayland-protocols
-Version:        1.36
+Version:        1.37
 Release:        0
 Summary:        Wayland protocols that add functionality not available in the 
core protocol
 License:        MIT

++++++ wayland-protocols-1.36.tar.xz -> wayland-protocols-1.37.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.36/.gitlab-ci.yml 
new/wayland-protocols-1.37/.gitlab-ci.yml
--- old/wayland-protocols-1.36/.gitlab-ci.yml   2024-04-26 09:33:20.000000000 
+0200
+++ new/wayland-protocols-1.37/.gitlab-ci.yml   2024-08-31 09:25:04.000000000 
+0200
@@ -18,8 +18,10 @@
 
 workflow:
   rules:
-    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
-    - if: $CI_PIPELINE_SOURCE == 'push'
+    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
+    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
+      when: never
+    - if: $CI_COMMIT_BRANCH
 
 .debian:
   variables:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.36/GOVERNANCE.md 
new/wayland-protocols-1.37/GOVERNANCE.md
--- old/wayland-protocols-1.36/GOVERNANCE.md    2024-04-26 09:33:20.000000000 
+0200
+++ new/wayland-protocols-1.37/GOVERNANCE.md    2024-08-31 09:25:04.000000000 
+0200
@@ -82,6 +82,8 @@
    one open-source server implementation to be eligible for inclusion.
 7. "Open-source" is defined as distributed with an Open Source Initiative
    approved license.
+8. All protocols are eligible for inclusion only if formally reviewed in-depth
+   by at least one member's point-of-contact different from the author.
 
 ### 2.3. Introducing new protocols
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.36/MEMBERS.md 
new/wayland-protocols-1.37/MEMBERS.md
--- old/wayland-protocols-1.36/MEMBERS.md       2024-04-26 09:33:20.000000000 
+0200
+++ new/wayland-protocols-1.37/MEMBERS.md       2024-08-31 09:25:04.000000000 
+0200
@@ -8,7 +8,7 @@
   Alan Griffiths <alan.griffi...@canonical.com>
 - Qt: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfe...@qt.io>
   (@eskilblomfeldt)
-- Smithay/Cosmic: Victoria Brekenfeld <wayl...@drakulix.de> (@drakulix),
+- Smithay/Cosmic: Victoria Brekenfeld <wayl...@drakulix.de> (@drakulix)
 - Weston: Pekka Paalanen <pekka.paala...@collabora.com> (@pq),
   Daniel Stone <dan...@fooishbar.org> (@daniels)
 - wlroots/Sway: Simon Ser <cont...@emersion.fr> (@emersion),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.36/README.md 
new/wayland-protocols-1.37/README.md
--- old/wayland-protocols-1.36/README.md        2024-04-26 09:33:20.000000000 
+0200
+++ new/wayland-protocols-1.37/README.md        2024-08-31 09:25:04.000000000 
+0200
@@ -12,8 +12,7 @@
 
 wayland-protocols is a standardization body formed of various Wayland
 compositor and client developers. The governance rules are described in
-[GOVERNANCE.md](GOVERNANCE.md) and the current members are listed in
-[MEMBERS.md](MEMBERS.md).
+[GOVERNANCE.md] and the current members are listed in [MEMBERS.md].
 
 ## Protocol phases
 
@@ -22,23 +21,18 @@
 
 In the development phase, a protocol is not officially part of
 wayland-protocols, but is actively being developed, for example by
-iterating over it in a
-[merge
-request](https://gitlab.freedesktop.org/wayland/wayland-protocols/merge_requests),
-or planning it in an
-[issue](https://gitlab.freedesktop.org/wayland/wayland-protocols/issues).
+iterating over it in a [merge request] or planning it in an [issue].
 
 During this phase, patches for clients and compositors are written as a test
 vehicle. Such patches must not be merged in clients and compositors, because
 the protocol can still change.
 
 When a protocol has reached a stage where it is ready for wider adoption,
-and after the [GOVERNANCE section
-2.3](GOVERNANCE.md#2.3-introducing-new-protocols) requirements have been
-met, it enters the "testing" phase. At this point, the protocol is added
-to the `staging/` directory of wayland-protocols and made part of a release.
-What this means is that implementation is encouraged in clients and
-compositors where the functionality it specifies is wanted.
+and after the [GOVERNANCE section 2.3] requirements have been met, it enters
+the "testing" phase. At this point, the protocol is added to the `staging/`
+directory of wayland-protocols and made part of a release. What this means is
+that implementation is encouraged in clients and compositors where the
+functionality it specifies is wanted.
 
 Extensions in staging cannot have backward incompatible changes, in that
 sense they are equal to stable extensions. However, they may be completely
@@ -75,30 +69,28 @@
 are placed in the `staging/` directory, and deprecated protocols are
 placed in the `deprecated/` directory.
 
-Unstable protocols (see [Legacy protocol phases](#legacy-protocol-phases))
-can be found in the `unstable/` directory, but new ones should never be
-placed here.
+Unstable protocols (see [Legacy protocol phases]) can be found in the
+`unstable/` directory, but new ones should never be placed here.
 
 ## Protocol development procedure
 
 To propose a new protocol, create a GitLab merge request adding the
-relevant files and Makefile.am entry to the repository with the
+relevant files and `meson.build` entry to the repository with the
 explanation and motivation in the commit message. Protocols are
 organized in namespaces describing their scope ("wp", "xdg" and "ext").
 There are different requirements for each namespace, see [GOVERNANCE
-section 2](GOVERNANCE.md#2-protocols) for more information.
+section 2] for more information.
 
 If the new protocol is just an idea, open an issue on the GitLab issue
 tracker. If the protocol isn't ready for complete review yet and is an
-RFC, create a merge request and add the "WIP:" prefix in the title.
+RFC, create a merge request and add the "Draft:" prefix in the title.
 
 To propose changes to existing protocols, create a GitLab merge request.
 
 Please include a `Signed-off-by` line at the end of the commit to certify
 that you wrote it or otherwise have the right to pass it on as an
-open-source patch. See the
-[Developer Certificate of Origin](https://developercertificate.org/) for
-a formal definition.
+open-source patch. See the [Developer Certificate of Origin] for a formal
+definition.
 
 ## Interface naming convention
 
@@ -118,8 +110,7 @@
 prefixed with both `wp_` and the operating system, for example
 `wp_linux_`, or `wp_freebsd_`, etc.
 
-For more information about namespaces, see [GOVERNANCE section 2.1
-](GOVERNANCE.md#21-protocol-namespaces).
+For more information about namespaces, see [GOVERNANCE section 2.1].
 
 Each new protocol XML file must include a major version postfix, starting
 with `-v1`. The purpose of this postfix is to make it possible to
@@ -149,8 +140,7 @@
 ## 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).
+proper meaning of the keywords described in [RFC 2119].
 
 All protocol descriptions that follow the guidelines in RFC 2119 must
 incorporate the following text in their toplevel protocol description section:
@@ -219,7 +209,7 @@
 all the interface versions and names, must remain unchanged.
 
 There are other requirements for declaring a protocol stable, see
-[GOVERNANCE section 2.3](GOVERNANCE.md#23-introducing-new-protocols).
+[GOVERNANCE section 2.3].
 
 ## Releases
 
@@ -248,7 +238,7 @@
 period.
 
 For the meaning and requirement of acknowledgments and available
-implementations, see the [GOVERNANCE.md](GOVERNANCE.md) document.
+implementations, see the [GOVERNANCE.md] document.
 
 ### Managing merge requests
 
@@ -262,3 +252,14 @@
 
 If the inclusion of a merge request is denied due to one or more Nacks, add
 the ~Nacked label.
+
+[GOVERNANCE.md]: GOVERNANCE.md
+[MEMBERS.md]: MEMBERS.md
+[merge request]: 
https://gitlab.freedesktop.org/wayland/wayland-protocols/merge_requests
+[issue]: https://gitlab.freedesktop.org/wayland/wayland-protocols/issues
+[GOVERNANCE section 2.3]: GOVERNANCE.md#2.3-introducing-new-protocols
+[Legacy protocol phases]: #legacy-protocol-phases
+[GOVERNANCE section 2]: GOVERNANCE.md#2-protocols
+[Developer Certificate of Origin]: https://developercertificate.org/
+[GOVERNANCE section 2.1]: GOVERNANCE.md#21-protocol-namespaces
+[RFC 2119]: https://www.rfc-editor.org/info/rfc2119
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.36/meson.build 
new/wayland-protocols-1.37/meson.build
--- old/wayland-protocols-1.36/meson.build      2024-04-26 09:33:20.000000000 
+0200
+++ new/wayland-protocols-1.37/meson.build      2024-08-31 09:25:04.000000000 
+0200
@@ -1,5 +1,5 @@
 project('wayland-protocols',
-       version: '1.36',
+       version: '1.37',
        meson_version: '>= 0.55.0',
        license: 'MIT/Expat',
 )
@@ -43,16 +43,19 @@
        'drm-lease': ['v1'],
        'ext-foreign-toplevel-list': ['v1'],
        'ext-idle-notify': ['v1'],
+       'ext-image-capture-source': ['v1'],
+       'ext-image-copy-capture': ['v1'],
        'ext-session-lock': ['v1'],
+       'ext-transient-seat': ['v1'],
        'fractional-scale': ['v1'],
        'linux-drm-syncobj': ['v1'],
        'security-context': ['v1'],
        'single-pixel-buffer': ['v1'],
        'tearing-control': ['v1'],
-       'ext-transient-seat': ['v1'],
        'xdg-activation': ['v1'],
        'xdg-dialog': ['v1'],
        'xdg-toplevel-drag': ['v1'],
+       'xdg-toplevel-icon': ['v1'],
        'xwayland-shell': ['v1'],
        'alpha-modifier': ['v1'],
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/stable/linux-dmabuf/linux-dmabuf-v1.xml 
new/wayland-protocols-1.37/stable/linux-dmabuf/linux-dmabuf-v1.xml
--- old/wayland-protocols-1.36/stable/linux-dmabuf/linux-dmabuf-v1.xml  
2024-04-26 09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/stable/linux-dmabuf/linux-dmabuf-v1.xml  
2024-08-31 09:25:04.000000000 +0200
@@ -378,7 +378,7 @@
             of planes and the format, bad format, non-positive width or
             height, or bad offset or stride.
           - INVALID_WL_BUFFER, in case the cause for failure is unknown or
-            plaform specific.
+            platform specific.
         - the server creates an invalid wl_buffer, marks it as failed and
           sends a 'failed' event to the client. The result of using this
           invalid wl_buffer as an argument in any request by the client is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.36/stable/tablet/tablet-v2.xml 
new/wayland-protocols-1.37/stable/tablet/tablet-v2.xml
--- old/wayland-protocols-1.36/stable/tablet/tablet-v2.xml      2024-04-26 
09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/stable/tablet/tablet-v2.xml      2024-08-31 
09:25:04.000000000 +0200
@@ -991,7 +991,7 @@
        indices start at 0.
 
        Switching modes is compositor-dependent. The compositor may provide
-       visual cues to the client about the mode, e.g. by toggling LEDs on
+       visual cues to the user about the mode, e.g. by toggling LEDs on
        the tablet device. Mode-switching may be software-controlled or
        controlled by one or more physical buttons. For example, on a Wacom
        Intuos Pro, the button inside the ring may be assigned to switch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/stable/viewporter/viewporter.xml 
new/wayland-protocols-1.37/stable/viewporter/viewporter.xml
--- old/wayland-protocols-1.36/stable/viewporter/viewporter.xml 2024-04-26 
09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/stable/viewporter/viewporter.xml 2024-08-31 
09:25:04.000000000 +0200
@@ -71,8 +71,7 @@
       src_y, src_width, src_height), and the destination size (dst_width,
       dst_height). The contents of the source rectangle are scaled to the
       destination size, and content outside the source rectangle is ignored.
-      This state is double-buffered, and is applied on the next
-      wl_surface.commit.
+      This state is double-buffered, see wl_surface.commit.
 
       The two parts of crop and scale state are independent: the source
       rectangle, and the destination size. Initially both are unset, that
@@ -149,8 +148,7 @@
        or negative, or x or y are negative, raise the bad_value protocol
        error.
 
-       The crop and scale state is double-buffered state, and will be
-       applied on the next wl_surface.commit.
+       The crop and scale state is double-buffered, see wl_surface.commit.
       </description>
       <arg name="x" type="fixed" summary="source rectangle x"/>
       <arg name="y" type="fixed" summary="source rectangle y"/>
@@ -169,8 +167,7 @@
        contains zero or negative values raises the bad_value protocol
        error.
 
-       The crop and scale state is double-buffered state, and will be
-       applied on the next wl_surface.commit.
+       The crop and scale state is double-buffered, see wl_surface.commit.
       </description>
       <arg name="width" type="int" summary="surface width"/>
       <arg name="height" type="int" summary="surface height"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/stable/xdg-shell/xdg-shell.xml 
new/wayland-protocols-1.37/stable/xdg-shell/xdg-shell.xml
--- old/wayland-protocols-1.36/stable/xdg-shell/xdg-shell.xml   2024-04-26 
09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/stable/xdg-shell/xdg-shell.xml   2024-08-31 
09:25:04.000000000 +0200
@@ -515,8 +515,7 @@
        portions like drop-shadows which should be ignored for the
        purposes of aligning, placing and constraining windows.
 
-       The window geometry is double buffered, and will be applied at the
-       time wl_surface.commit of the corresponding wl_surface is called.
+       The window geometry is double-buffered state, see wl_surface.commit.
 
        When maintaining a position, the compositor should treat the (x, y)
        coordinate of the window geometry as the top left corner of the window.
@@ -635,7 +634,7 @@
       attributes (e.g. title, state, stacking, ...) are discarded for
       an xdg_toplevel surface when it is unmapped. The xdg_toplevel returns to
       the state it had right after xdg_surface.get_toplevel. The client
-      can re-map the toplevel by perfoming a commit without any buffer
+      can re-map the toplevel by performing a commit without any buffer
       attached, waiting for a configure event and handling it as usual (see
       xdg_surface description).
 
@@ -832,8 +831,7 @@
        configure event to ensure that both the client and the compositor
        setting the state can be synchronized.
 
-       States set in this way are double-buffered. They will get applied on
-       the next commit.
+       States set in this way are double-buffered, see wl_surface.commit.
       </description>
       <entry name="maximized" value="1" summary="the surface is maximized">
        <description summary="the surface is maximized">
@@ -924,8 +922,7 @@
        The width and height arguments are in window geometry coordinates.
        See xdg_surface.set_window_geometry.
 
-       Values set in this way are double-buffered. They will get applied
-       on the next commit.
+       Values set in this way are double-buffered, see wl_surface.commit.
 
        The compositor can use this information to allow or disallow
        different states like maximize or fullscreen and draw accurate
@@ -965,8 +962,7 @@
        The width and height arguments are in window geometry coordinates.
        See xdg_surface.set_window_geometry.
 
-       Values set in this way are double-buffered. They will get applied
-       on the next commit.
+       Values set in this way are double-buffered, see wl_surface.commit.
 
        The compositor can use this information to allow or disallow
        different states like maximize or fullscreen and draw accurate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/drm-lease/drm-lease-v1.xml 
new/wayland-protocols-1.37/staging/drm-lease/drm-lease-v1.xml
--- old/wayland-protocols-1.36/staging/drm-lease/drm-lease-v1.xml       
2024-04-26 09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/staging/drm-lease/drm-lease-v1.xml       
2024-08-31 09:25:04.000000000 +0200
@@ -245,7 +245,7 @@
       <description summary="submit the lease request">
         Submits the lease request and creates a new wp_drm_lease_v1 object.
         After calling submit the compositor will immediately destroy this
-        object, issuing any more requests will cause a wl_diplay error.
+        object, issuing any more requests will cause a wl_display error.
         The compositor doesn't make any guarantees about the events of the
         lease object, clients cannot expect an immediate response.
         Not requesting any connectors before submitting the lease request
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/ext-image-capture-source/README 
new/wayland-protocols-1.37/staging/ext-image-capture-source/README
--- old/wayland-protocols-1.36/staging/ext-image-capture-source/README  
1970-01-01 01:00:00.000000000 +0100
+++ new/wayland-protocols-1.37/staging/ext-image-capture-source/README  
2024-08-31 09:25:04.000000000 +0200
@@ -0,0 +1,5 @@
+Image Capture Source Protocol
+
+Maintainers:
+Andri Yngvason <an...@yngvason.is>
+Simon Ser <cont...@emersion.fr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/ext-image-capture-source/ext-image-capture-source-v1.xml
 
new/wayland-protocols-1.37/staging/ext-image-capture-source/ext-image-capture-source-v1.xml
--- 
old/wayland-protocols-1.36/staging/ext-image-capture-source/ext-image-capture-source-v1.xml
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/wayland-protocols-1.37/staging/ext-image-capture-source/ext-image-capture-source-v1.xml
 2024-08-31 09:25:04.000000000 +0200
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="ext_image_capture_source_v1">
+  <copyright>
+    Copyright © 2022 Andri Yngvason
+    Copyright © 2024 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.
+  </copyright>
+
+  <description summary="opaque image capture source objects">
+    This protocol serves as an intermediary between capturing protocols and
+    potential image capture sources such as outputs and toplevels.
+
+    This protocol may be extended to support more image capture sources in the
+    future, thereby adding those image capture sources to other protocols that
+    use the image capture source object without having to modify those
+    protocols.
+
+    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.
+  </description>
+
+  <interface name="ext_image_capture_source_v1" version="1">
+    <description summary="opaque image capture source object">
+      The image capture source object is an opaque descriptor for a capturable
+      resource.  This resource may be any sort of entity from which an image
+      may be derived.
+
+      Note, because ext_image_capture_source_v1 objects are created from 
multiple
+      independent factory interfaces, the ext_image_capture_source_v1 
interface is
+      frozen at version 1.
+    </description>
+
+    <request name="destroy" type="destructor">
+      <description summary="delete this object">
+        Destroys the image capture source. This request may be sent at any time
+        by the client.
+      </description>
+    </request>
+  </interface>
+
+  <interface name="ext_output_image_capture_source_manager_v1" version="1">
+    <description summary="image capture source manager for outputs">
+      A manager for creating image capture source objects for wl_output 
objects.
+    </description>
+
+    <request name="create_source">
+      <description summary="create source object for output">
+        Creates a source object for an output. Images captured from this source
+        will show the same content as the output. Some elements may be omitted,
+        such as cursors and overlays that have been marked as transparent to
+        capturing.
+      </description>
+      <arg name="source" type="new_id" 
interface="ext_image_capture_source_v1"/>
+      <arg name="output" type="object" interface="wl_output"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="delete this object">
+        Destroys the manager. This request may be sent at any time by the 
client
+        and objects created by the manager will remain valid after its
+        destruction.
+      </description>
+    </request>
+  </interface>
+
+  <interface name="ext_foreign_toplevel_image_capture_source_manager_v1" 
version="1">
+    <description summary="image capture source manager for foreign toplevels">
+      A manager for creating image capture source objects for
+      ext_foreign_toplevel_handle_v1 objects.
+    </description>
+
+    <request name="create_source">
+      <description summary="create source object for foreign toplevel">
+        Creates a source object for a foreign toplevel handle. Images captured
+        from this source will show the same content as the toplevel.
+      </description>
+      <arg name="source" type="new_id" 
interface="ext_image_capture_source_v1"/>
+      <arg name="toplevel_handle" type="object" 
interface="ext_foreign_toplevel_handle_v1"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="delete this object">
+        Destroys the manager. This request may be sent at any time by the 
client
+        and objects created by the manager will remain valid after its
+        destruction.
+      </description>
+    </request>
+  </interface>
+</protocol>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/ext-image-copy-capture/README 
new/wayland-protocols-1.37/staging/ext-image-copy-capture/README
--- old/wayland-protocols-1.36/staging/ext-image-copy-capture/README    
1970-01-01 01:00:00.000000000 +0100
+++ new/wayland-protocols-1.37/staging/ext-image-copy-capture/README    
2024-08-31 09:25:04.000000000 +0200
@@ -0,0 +1,5 @@
+Image Copy Capture protocol
+
+Maintainers:
+Andri Yngvason <an...@yngvason.is>
+Simon Ser <cont...@emersion.fr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/ext-image-copy-capture/ext-image-copy-capture-v1.xml
 
new/wayland-protocols-1.37/staging/ext-image-copy-capture/ext-image-copy-capture-v1.xml
--- 
old/wayland-protocols-1.36/staging/ext-image-copy-capture/ext-image-copy-capture-v1.xml
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/wayland-protocols-1.37/staging/ext-image-copy-capture/ext-image-copy-capture-v1.xml
     2024-08-31 09:25:04.000000000 +0200
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="ext_image_copy_capture_v1">
+  <copyright>
+    Copyright © 2021-2023 Andri Yngvason
+    Copyright © 2024 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.
+  </copyright>
+
+  <description summary="image capturing into client buffers">
+    This protocol allows clients to ask the compositor to capture image sources
+    such as outputs and toplevels into user submitted buffers.
+
+    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.
+  </description>
+
+  <interface name="ext_image_copy_capture_manager_v1" version="1">
+    <description summary="manager to inform clients and begin capturing">
+      This object is a manager which offers requests to start capturing from a
+      source.
+    </description>
+
+    <enum name="error">
+      <entry name="invalid_option" value="1" summary="invalid option flag"/>
+    </enum>
+
+    <enum name="options" bitfield="true">
+      <entry name="paint_cursors" value="1" summary="paint cursors onto 
captured frames"/>
+    </enum>
+
+    <request name="create_session">
+      <description summary="capture an image capture source">
+        Create a capturing session for an image capture source.
+
+        If the paint_cursors option is set, cursors shall be composited onto
+        the captured frame. The cursor must not be composited onto the frame
+        if this flag is not set.
+
+        If the options bitfield is invalid, the invalid_option protocol error
+        is sent.
+      </description>
+      <arg name="session" type="new_id" 
interface="ext_image_copy_capture_session_v1"/>
+      <arg name="source" type="object" 
interface="ext_image_capture_source_v1"/>
+      <arg name="options" type="uint" enum="options"/>
+    </request>
+
+    <request name="create_pointer_cursor_session">
+      <description summary="capture the pointer cursor of an image capture 
source">
+        Create a cursor capturing session for the pointer of an image capture
+        source.
+      </description>
+      <arg name="session" type="new_id" 
interface="ext_image_copy_capture_cursor_session_v1"/>
+      <arg name="source" type="object" 
interface="ext_image_capture_source_v1"/>
+      <arg name="pointer" type="object" interface="wl_pointer"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy the manager">
+        Destroy the manager object.
+
+        Other objects created via this interface are unaffected.
+      </description>
+    </request>
+  </interface>
+
+  <interface name="ext_image_copy_capture_session_v1" version="1">
+    <description summary="image copy capture session">
+      This object represents an active image copy capture session.
+
+      After a capture session is created, buffer constraint events will be
+      emitted from the compositor to tell the client which buffer types and
+      formats are supported for reading from the session. The compositor may
+      re-send buffer constraint events whenever they change.
+
+      The advertise buffer constraints, the compositor must send in no
+      particular order: zero or more shm_format and dmabuf_format events, zero
+      or one dmabuf_device event, and exactly one buffer_size event. Then the
+      compositor must send a done event.
+
+      When the client has received all the buffer constraints, it can create a
+      buffer accordingly, attach it to the capture session using the
+      attach_buffer request, set the buffer damage using the damage_buffer
+      request and then send the capture request.
+    </description>
+
+    <enum name="error">
+      <entry name="duplicate_frame" value="1"
+        summary="create_frame sent before destroying previous frame"/>
+    </enum>
+
+    <event name="buffer_size">
+      <description summary="image capture source dimensions">
+        Provides the dimensions of the source image in buffer pixel 
coordinates.
+
+        The client must attach buffers that match this size.
+      </description>
+      <arg name="width" type="uint" summary="buffer width"/>
+      <arg name="height" type="uint" summary="buffer height"/>
+    </event>
+
+    <event name="shm_format">
+      <description summary="shm buffer format">
+        Provides the format that must be used for shared-memory buffers.
+
+        This event may be emitted multiple times, in which case the client may
+        choose any given format.
+      </description>
+      <arg name="format" type="uint" enum="wl_shm.format" summary="shm 
format"/>
+    </event>
+
+    <event name="dmabuf_device">
+      <description summary="dma-buf device">
+        This event advertises the device buffers must be allocated on for
+        dma-buf buffers.
+
+        In general the device is a DRM node. The DRM node type (primary vs.
+        render) is unspecified. Clients must not rely on the compositor sending
+        a particular node type. Clients cannot check two devices for equality
+        by comparing the dev_t value.
+      </description>
+      <arg name="device" type="array" summary="device dev_t value"/>
+    </event>
+
+    <event name="dmabuf_format">
+      <description summary="dma-buf format">
+        Provides the format that must be used for dma-buf buffers.
+
+        The client may choose any of the modifiers advertised in the array of
+        64-bit unsigned integers.
+
+        This event may be emitted multiple times, in which case the client may
+        choose any given format.
+      </description>
+      <arg name="format" type="uint" summary="drm format code"/>
+      <arg name="modifiers" type="array" summary="drm format modifiers"/>
+    </event>
+
+    <event name="done">
+      <description summary="all constraints have been sent">
+        This event is sent once when all buffer constraint events have been
+        sent.
+
+        The compositor must always end a batch of buffer constraint events with
+        this event, regardless of whether it sends the initial constraints or
+        an update.
+      </description>
+    </event>
+
+    <event name="stopped">
+      <description summary="session is no longer available">
+        This event indicates that the capture session has stopped and is no
+        longer available. This can happen in a number of cases, e.g. when the
+        underlying source is destroyed, if the user decides to end the image
+        capture, or if an unrecoverable runtime error has occurred.
+
+        The client should destroy the session after receiving this event.
+      </description>
+    </event>
+
+    <request name="create_frame">
+      <description summary="create a frame">
+        Create a capture frame for this session.
+
+        At most one frame object can exist for a given session at any time. If
+        a client sends a create_frame request before a previous frame object
+        has been destroyed, the duplicate_frame protocol error is raised.
+      </description>
+      <arg name="frame" type="new_id" 
interface="ext_image_copy_capture_frame_v1"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="delete this object">
+        Destroys the session. This request can be sent at any time by the
+        client.
+
+        This request doesn't affect ext_image_copy_capture_frame_v1 objects 
created by
+        this object.
+      </description>
+    </request>
+  </interface>
+
+  <interface name="ext_image_copy_capture_frame_v1" version="1">
+    <description summary="image capture frame">
+      This object represents an image capture frame.
+
+      The client should attach a buffer, damage the buffer, and then send a
+      capture request.
+
+      If the capture is successful, the compositor must send the frame metadata
+      (transform, damage, presentation_time in any order) followed by the ready
+      event.
+
+      If the capture fails, the compositor must send the failed event.
+    </description>
+
+    <enum name="error">
+      <entry name="no_buffer" value="1" summary="capture sent without 
attach_buffer"/>
+      <entry name="invalid_buffer_damage" value="2" summary="invalid buffer 
damage"/>
+      <entry name="already_captured" value="3" summary="capture request has 
been sent"/>
+    </enum>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy this object">
+        Destroys the session. This request can be sent at any time by the
+        client.
+      </description>
+    </request>
+
+    <request name="attach_buffer">
+      <description summary="attach buffer to session">
+        Attach a buffer to the session.
+
+        The wl_buffer.release request is unused.
+
+        The new buffer replaces any previously attached buffer.
+
+        This request must not be sent after capture, or else the
+        already_captured protocol error is raised.
+      </description>
+      <arg name="buffer" type="object" interface="wl_buffer"/>
+    </request>
+
+    <request name="damage_buffer">
+      <description summary="damage buffer">
+        Apply damage to the buffer which is to be captured next. This request
+        may be sent multiple times to describe a region.
+
+        The client indicates the accumulated damage since this wl_buffer was
+        last captured. During capture, the compositor will update the buffer
+        with at least the union of the region passed by the client and the
+        region advertised by ext_image_copy_capture_frame_v1.damage.
+
+        When a wl_buffer is captured for the first time, or when the client
+        doesn't track damage, the client must damage the whole buffer.
+
+        This is for optimisation purposes. The compositor may use this
+        information to reduce copying.
+
+        These coordinates originate from the upper left corner of the buffer.
+
+        If x or y are strictly negative, or if width or height are negative or
+        zero, the invalid_buffer_damage protocol error is raised.
+
+        This request must not be sent after capture, or else the
+        already_captured protocol error is raised.
+      </description>
+      <arg name="x" type="int" summary="region x coordinate"/>
+      <arg name="y" type="int" summary="region y coordinate"/>
+      <arg name="width" type="int" summary="region width"/>
+      <arg name="height" type="int" summary="region height"/>
+    </request>
+
+    <request name="capture">
+      <description summary="capture a frame">
+        Capture a frame.
+
+        Unless this is the first successful captured frame performed in this
+        session, the compositor may wait an indefinite amount of time for the
+        source content to change before performing the copy.
+
+        This request may only be sent once, or else the already_captured
+        protocol error is raised. A buffer must be attached before this request
+        is sent, or else the no_buffer protocol error is raised.
+      </description>
+    </request>
+
+    <event name="transform">
+      <description summary="buffer transform">
+        This event is sent before the ready event and holds the transform that
+        the compositor has applied to the buffer contents.
+      </description>
+      <arg name="transform" type="uint" enum="wl_output.transform"/>
+    </event>
+
+    <event name="damage">
+      <description summary="buffer damaged region">
+        This event is sent before the ready event. It may be generated multiple
+        times to describe a region.
+
+        The first captured frame in a session will always carry full damage.
+        Subsequent frames' damaged regions describe which parts of the buffer
+        have changed since the last ready event.
+
+        These coordinates originate in the upper left corner of the buffer.
+      </description>
+      <arg name="x" type="int" summary="damage x coordinate"/>
+      <arg name="y" type="int" summary="damage y coordinate"/>
+      <arg name="width" type="int" summary="damage width"/>
+      <arg name="height" type="int" summary="damage height"/>
+    </event>
+
+    <event name="presentation_time">
+      <description summary="presentation time of the frame">
+        This event indicates the time at which the frame is presented to the
+        output in system monotonic time. This event is sent before the ready
+        event.
+
+        The timestamp is expressed as tv_sec_hi, tv_sec_lo, tv_nsec triples,
+        each component being an unsigned 32-bit value. Whole seconds are in
+        tv_sec which is a 64-bit value combined from tv_sec_hi and tv_sec_lo,
+        and the additional fractional part in tv_nsec as nanoseconds. Hence,
+        for valid timestamps tv_nsec must be in [0, 999999999].
+      </description>
+      <arg name="tv_sec_hi" type="uint"
+           summary="high 32 bits of the seconds part of the timestamp"/>
+      <arg name="tv_sec_lo" type="uint"
+           summary="low 32 bits of the seconds part of the timestamp"/>
+      <arg name="tv_nsec" type="uint"
+           summary="nanoseconds part of the timestamp"/>
+    </event>
+
+    <event name="ready">
+      <description summary="frame is available for reading">
+        Called as soon as the frame is copied, indicating it is available
+        for reading.
+
+        The buffer may be re-used by the client after this event.
+
+        After receiving this event, the client must destroy the object.
+      </description>
+    </event>
+
+    <enum name="failure_reason">
+      <entry name="unknown" value="0">
+        <description summary="unknown runtime error">
+          An unspecified runtime error has occurred. The client may retry.
+        </description>
+      </entry>
+      <entry name="buffer_constraints" value="1">
+        <description summary="buffer constraints mismatch">
+          The buffer submitted by the client doesn't match the latest session
+          constraints. The client should re-allocate its buffers and retry.
+        </description>
+      </entry>
+      <entry name="stopped" value="2">
+        <description summary="session is no longer available">
+          The session has stopped. See 
ext_image_copy_capture_session_v1.stopped.
+        </description>
+      </entry>
+    </enum>
+
+    <event name="failed">
+      <description summary="capture failed">
+        This event indicates that the attempted frame copy has failed.
+
+        After receiving this event, the client must destroy the object.
+      </description>
+      <arg name="reason" type="uint" enum="failure_reason"/>
+    </event>
+  </interface>
+
+  <interface name="ext_image_copy_capture_cursor_session_v1" version="1">
+    <description summary="cursor capture session">
+      This object represents a cursor capture session. It extends the base
+      capture session with cursor-specific metadata.
+    </description>
+
+    <enum name="error">
+      <entry name="duplicate_session" value="1" summary="get_captuerer_session 
sent twice"/>
+    </enum>
+
+    <request name="destroy" type="destructor">
+      <description summary="delete this object">
+        Destroys the session. This request can be sent at any time by the
+        client.
+
+        This request doesn't affect ext_image_copy_capture_frame_v1 objects 
created by
+        this object.
+      </description>
+    </request>
+
+    <request name="get_capture_session">
+      <description summary="get image copy captuerer session">
+        Gets the image copy capture session for this cursor session.
+
+        The session will produce frames of the cursor image. The compositor may
+        pause the session when the cursor leaves the captured area.
+
+        This request must not be sent more than once, or else the
+        duplicate_session protocol error is raised.
+      </description>
+      <arg name="session" type="new_id" 
interface="ext_image_copy_capture_session_v1"/>
+    </request>
+
+    <event name="enter">
+      <description summary="cursor entered captured area">
+        Sent when a cursor enters the captured area. It shall be generated
+        before the "position" and "hotspot" events when and only when a cursor
+        enters the area.
+
+        The cursor enters the captured area when the cursor image intersects
+        with the captured area. Note, this is different from e.g.
+        wl_pointer.enter.
+      </description>
+    </event>
+
+    <event name="leave">
+      <description summary="cursor left captured area">
+        Sent when a cursor leaves the captured area. No "position" or "hotspot"
+        event is generated for the cursor until the cursor enters the captured
+        area again.
+      </description>
+    </event>
+
+    <event name="position">
+      <description summary="position changed">
+        Cursors outside the image capture source do not get captured and no
+        event will be generated for them.
+
+        The given position is the position of the cursor's hotspot and it is
+        relative to the main buffer's top left corner in transformed buffer
+        pixel coordinates. The coordinates may be negative or greater than the
+        main buffer size.
+      </description>
+      <arg name="x" type="int" summary="position x coordinates"/>
+      <arg name="y" type="int" summary="position y coordinates"/>
+    </event>
+
+    <event name="hotspot">
+      <description summary="hotspot changed">
+        The hotspot describes the offset between the cursor image and the
+        position of the input device.
+
+        The given coordinates are the hotspot's offset from the origin in
+        buffer coordinates.
+
+        Clients should not apply the hotspot immediately: the hotspot becomes
+        effective when the next ext_image_copy_capture_frame_v1.ready event is 
received.
+
+        Compositors may delay this event until the client captures a new frame.
+      </description>
+      <arg name="x" type="int" summary="hotspot x coordinates"/>
+      <arg name="y" type="int" summary="hotspot y coordinates"/>
+    </event>
+  </interface>
+</protocol>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/tearing-control/tearing-control-v1.xml 
new/wayland-protocols-1.37/staging/tearing-control/tearing-control-v1.xml
--- old/wayland-protocols-1.36/staging/tearing-control/tearing-control-v1.xml   
2024-04-26 09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/staging/tearing-control/tearing-control-v1.xml   
2024-08-31 09:25:04.000000000 +0200
@@ -75,6 +75,9 @@
       presentation with tearing.
       The default presentation hint is vsync. See presentation_hint for more
       details.
+
+      If the associated wl_surface is destroyed, this object becomes inert and
+      should be destroyed.
     </description>
 
     <enum name="presentation_hint">
@@ -100,7 +103,7 @@
     <request name="set_presentation_hint">
       <description summary="set presentation hint">
         Set the presentation hint for the associated wl_surface. This state is
-        double-buffered and is applied on the next wl_surface.commit.
+        double-buffered, see wl_surface.commit.
 
         The compositor is free to dynamically respect or ignore this hint based
         on various conditions like hardware capabilities, surface state and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/xdg-toplevel-icon/README 
new/wayland-protocols-1.37/staging/xdg-toplevel-icon/README
--- old/wayland-protocols-1.36/staging/xdg-toplevel-icon/README 1970-01-01 
01:00:00.000000000 +0100
+++ new/wayland-protocols-1.37/staging/xdg-toplevel-icon/README 2024-08-31 
09:25:04.000000000 +0200
@@ -0,0 +1,4 @@
+xdg_toplevel_icon protocol
+
+Maintainers:
+Matthias Klumpp <matth...@tenstral.net>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/xdg-toplevel-icon/xdg-toplevel-icon-v1.xml 
new/wayland-protocols-1.37/staging/xdg-toplevel-icon/xdg-toplevel-icon-v1.xml
--- 
old/wayland-protocols-1.36/staging/xdg-toplevel-icon/xdg-toplevel-icon-v1.xml   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/wayland-protocols-1.37/staging/xdg-toplevel-icon/xdg-toplevel-icon-v1.xml   
    2024-08-31 09:25:04.000000000 +0200
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="xdg_toplevel_icon_v1">
+
+  <copyright>
+    Copyright © 2023-2024 Matthias Klumpp
+    Copyright ©      2024 David Edmundson
+
+    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.
+  </copyright>
+
+  <description summary="protocol to assign icons to toplevels">
+    This protocol allows clients to set icons for their toplevel surfaces
+    either via the XDG icon stock (using an icon name), or from pixel data.
+
+    A toplevel icon represents the individual toplevel (unlike the application
+    or launcher icon, which represents the application as a whole), and may be
+    shown in window switchers, window overviews and taskbars that list
+    individual windows.
+
+    This document adheres to RFC 2119 when using words like "must",
+    "should", "may", etc.
+
+    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.
+  </description>
+
+  <interface name="xdg_toplevel_icon_manager_v1" version="1">
+    <description summary="interface to manage toplevel icons">
+      This interface allows clients to create toplevel window icons and set
+      them on toplevel windows to be displayed to the user.
+    </description>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy the toplevel icon manager">
+        Destroy the toplevel icon manager.
+        This does not destroy objects created with the manager.
+      </description>
+    </request>
+
+    <request name="create_icon">
+      <description summary="create a new icon instance">
+        Creates a new icon object. This icon can then be attached to a
+        xdg_toplevel via the 'set_icon' request.
+      </description>
+      <arg name="id" type="new_id" interface="xdg_toplevel_icon_v1"/>
+    </request>
+
+    <request name="set_icon">
+      <description summary="set an icon on a toplevel window">
+        This request assigns the icon 'icon' to 'toplevel', or clears the
+        toplevel icon if 'icon' was null.
+        This state is double-buffered and is applied on the next
+        wl_surface.commit of the toplevel.
+
+        After making this call, the xdg_toplevel_icon_v1 provided as 'icon'
+        can be destroyed by the client without 'toplevel' losing its icon.
+        The xdg_toplevel_icon_v1 is immutable from this point, and any
+        future attempts to change it must raise the
+        'xdg_toplevel_icon_v1.immutable' protocol error.
+
+        The compositor must set the toplevel icon from either the pixel data
+        the icon provides, or by loading a stock icon using the icon name.
+        See the description of 'xdg_toplevel_icon_v1' for details.
+
+        If 'icon' is set to null, the icon of the respective toplevel is reset
+        to its default icon (usually the icon of the application, derived from
+        its desktop-entry file, or a placeholder icon).
+        If this request is passed an icon with no pixel buffers or icon name
+        assigned, the icon must be reset just like if 'icon' was null.
+      </description>
+      <arg name="toplevel" type="object" interface="xdg_toplevel" summary="the 
toplevel to act on"/>
+      <arg name="icon" type="object" interface="xdg_toplevel_icon_v1" 
allow-null="true"/>
+    </request>
+
+    <event name="icon_size">
+      <description summary="describes a supported &amp; preferred icon size">
+        This event indicates an icon size the compositor prefers to be
+        available if the client has scalable icons and can render to any size.
+
+        When the 'xdg_toplevel_icon_manager_v1' object is created, the
+        compositor may send one or more 'icon_size' events to describe the list
+        of preferred icon sizes. If the compositor has no size preference, it
+        may not send any 'icon_size' event, and it is up to the client to
+        decide a suitable icon size.
+
+        A sequence of 'icon_size' events must be finished with a 'done' event.
+        If the compositor has no size preferences, it must still send the
+        'done' event, without any preceding 'icon_size' events.
+      </description>
+      <arg name="size" type="int"
+          summary="the edge size of the square icon in surface-local 
coordinates, e.g. 64"/>
+    </event>
+
+    <event name="done">
+      <description summary="all information has been sent">
+        This event is sent after all 'icon_size' events have been sent.
+      </description>
+    </event>
+  </interface>
+
+  <interface name="xdg_toplevel_icon_v1" version="1">
+    <description summary="a toplevel window icon">
+      This interface defines a toplevel icon.
+      An icon can have a name, and multiple buffers.
+      In order to be applied, the icon must have either a name, or at least
+      one buffer assigned. Applying an empty icon (with no buffer or name) to
+      a toplevel should reset its icon to the default icon.
+
+      It is up to compositor policy whether to prefer using a buffer or loading
+      an icon via its name. See 'set_name' and 'add_buffer' for details.
+    </description>
+
+    <enum name="error">
+      <entry name="invalid_buffer"
+             summary="the provided buffer does not satisfy requirements"
+            value="1"/>
+      <entry name="immutable"
+             summary="the icon has already been assigned to a toplevel and 
must not be changed"
+            value="2"/>
+      <entry name="no_buffer"
+             summary="the provided buffer has been destroyed before the 
toplevel icon"
+             value="3"/>
+    </enum>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy the icon object">
+        Destroys the 'xdg_toplevel_icon_v1' object.
+        The icon must still remain set on every toplevel it was assigned to,
+        until the toplevel icon is reset explicitly.
+      </description>
+    </request>
+
+    <request name="set_name">
+      <description summary="set an icon name">
+        This request assigns an icon name to this icon.
+        Any previously set name is overridden.
+
+        The compositor must resolve 'icon_name' according to the lookup rules
+        described in the XDG icon theme specification[1] using the
+        environment's current icon theme.
+
+        If the compositor does not support icon names or cannot resolve
+        'icon_name' according to the XDG icon theme specification it must
+        fall back to using pixel buffer data instead.
+
+        If this request is made after the icon has been assigned to a toplevel
+        via 'set_icon', a 'immutable' error must be raised.
+
+        [1]: 
https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
+      </description>
+      <arg name="icon_name" type="string"/>
+    </request>
+
+    <request name="add_buffer">
+      <description summary="add icon data from a pixel buffer">
+        This request adds pixel data supplied as wl_buffer to the icon.
+
+        The client should add pixel data for all icon sizes and scales that
+        it can provide, or which are explicitly requested by the compositor
+        via 'icon_size' events on xdg_toplevel_icon_manager_v1.
+
+        The wl_buffer supplying pixel data as 'buffer' must be backed by wl_shm
+        and must be a square (width and height being equal).
+        If any of these buffer requirements are not fulfilled, a 
'invalid_buffer'
+        error must be raised.
+
+        If this icon instance already has a buffer of the same size and scale
+        from a previous 'add_buffer' request, data from the last request
+        overrides the preexisting pixel data.
+
+        The wl_buffer must be kept alive for as long as the xdg_toplevel_icon
+        it is associated with is not destroyed, otherwise a 'no_buffer' error
+        is raised. The buffer contents must not be modified after it was
+        assigned to the icon.
+
+        If this request is made after the icon has been assigned to a toplevel
+        via 'set_icon', a 'immutable' error must be raised.
+      </description>
+      <arg name="buffer" type="object" interface="wl_buffer"/>
+      <arg name="scale" type="int"
+          summary="the scaling factor of the icon, e.g. 1"/>
+    </request>
+  </interface>
+</protocol>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/staging/xwayland-shell/xwayland-shell-v1.xml 
new/wayland-protocols-1.37/staging/xwayland-shell/xwayland-shell-v1.xml
--- old/wayland-protocols-1.36/staging/xwayland-shell/xwayland-shell-v1.xml     
2024-04-26 09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/staging/xwayland-shell/xwayland-shell-v1.xml     
2024-08-31 09:25:04.000000000 +0200
@@ -125,8 +125,7 @@
     <request name="set_serial">
       <description summary="associates a Xwayland window to a wl_surface">
         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 association state is double-buffered, see wl_surface.commit.
 
         The `serial_lo` and `serial_hi` parameters specify a non-zero
         monotonic serial number which is entirely unique and provided by the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.36/tests/replace.py 
new/wayland-protocols-1.37/tests/replace.py
--- old/wayland-protocols-1.36/tests/replace.py 2024-04-26 09:33:20.000000000 
+0200
+++ new/wayland-protocols-1.37/tests/replace.py 2024-08-31 09:25:04.000000000 
+0200
@@ -4,10 +4,10 @@
 
 execpath, inpath, outpath, *dict_list = sys.argv
 
-dictonary = {}
+dictionary = {}
 while dict_list:
     key, value, *rest = dict_list
-    dictonary[key] = value
+    dictionary[key] = value
     dict_list = rest
 
 infile = open(inpath, 'r')
@@ -16,7 +16,7 @@
 buf = infile.read()
 infile.close()
 
-for key, value in dictonary.items():
+for key, value in dictionary.items():
     buf = buf.replace('@{}@'.format(key), value)
 
 outfile.write(buf)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml 
new/wayland-protocols-1.37/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
--- 
old/wayland-protocols-1.36/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml   
    2024-04-26 09:33:20.000000000 +0200
+++ 
new/wayland-protocols-1.37/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml   
    2024-08-31 09:25:04.000000000 +0200
@@ -382,7 +382,7 @@
             of planes and the format, bad format, non-positive width or
             height, or bad offset or stride.
           - INVALID_WL_BUFFER, in case the cause for failure is unknown or
-            plaform specific.
+            platform specific.
         - the server creates an invalid wl_buffer, marks it as failed and
           sends a 'failed' event to the client. The result of using this
           invalid wl_buffer as an argument in any request by the client is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
 
new/wayland-protocols-1.37/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
--- 
old/wayland-protocols-1.36/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
 2024-04-26 09:33:20.000000000 +0200
+++ 
new/wayland-protocols-1.37/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
 2024-08-31 09:25:04.000000000 +0200
@@ -225,9 +225,8 @@
        information to warp the pointer upon unlock in order to avoid pointer
        jumps.
 
-       The cursor position hint is double buffered. The new hint will only take
-       effect when the associated surface gets it pending state applied. See
-       wl_surface.commit for details.
+       The cursor position hint is double-buffered state, see
+       wl_surface.commit.
       </description>
       <arg name="surface_x" type="fixed"
           summary="surface-local x coordinate"/>
@@ -239,9 +238,7 @@
       <description summary="set a new lock region">
        Set a new region used to lock the pointer.
 
-       The new lock region is double-buffered. The new lock region will
-       only take effect when the associated surface gets its pending state
-       applied. See wl_surface.commit for details.
+       The new lock region is double-buffered, see wl_surface.commit.
 
        For details about the lock region, see wp_locked_pointer.
       </description>
@@ -298,9 +295,7 @@
       <description summary="set a new confine region">
        Set a new region used to confine the pointer.
 
-       The new confine region is double-buffered. The new confine region will
-       only take effect when the associated surface gets its pending state
-       applied. See wl_surface.commit for details.
+       The new confine region is double-buffered, see wl_surface.commit.
 
        If the confinement is active when the new confinement region is applied
        and the pointer ends up outside of newly applied region, the pointer may
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
 
new/wayland-protocols-1.37/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
--- 
old/wayland-protocols-1.36/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
       2024-04-26 09:33:20.000000000 +0200
+++ 
new/wayland-protocols-1.37/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
       2024-08-31 09:25:04.000000000 +0200
@@ -8,7 +8,7 @@
 
       Three gestures are currently supported: swipe, pinch, and hold.
       Pinch and swipe gestures follow a three-stage cycle: begin, update,
-      end, hold gestures follow a two-stage cycle: begin and end. All
+      end. Hold gestures follow a two-stage cycle: begin and end. All
       gestures are identified by a unique id.
 
       Warning! The protocol described in this file is experimental and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/unstable/xdg-shell/xdg-shell-unstable-v5.xml 
new/wayland-protocols-1.37/unstable/xdg-shell/xdg-shell-unstable-v5.xml
--- old/wayland-protocols-1.36/unstable/xdg-shell/xdg-shell-unstable-v5.xml     
2024-04-26 09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/unstable/xdg-shell/xdg-shell-unstable-v5.xml     
2024-08-31 09:25:04.000000000 +0200
@@ -324,8 +324,7 @@
         configure event to ensure that both the client and the compositor
         setting the state can be synchronized.
 
-        States set in this way are double-buffered. They will get applied on
-        the next commit.
+        States set in this way are double-buffered, see wl_surface.commit.
 
         Desktop environments may extend this enum by taking up a range of
         values and documenting the range they chose in this description.
@@ -433,8 +432,7 @@
         portions like drop-shadows which should be ignored for the
         purposes of aligning, placing and constraining windows.
 
-        The window geometry is double buffered, and will be applied at the
-        time wl_surface.commit of the corresponding wl_surface is called.
+        The window geometry is double-buffered state, see wl_surface.commit.
 
         Once the window geometry of the surface is set once, it is not
         possible to unset it, and it will remain the same until
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.36/unstable/xdg-shell/xdg-shell-unstable-v6.xml 
new/wayland-protocols-1.37/unstable/xdg-shell/xdg-shell-unstable-v6.xml
--- old/wayland-protocols-1.36/unstable/xdg-shell/xdg-shell-unstable-v6.xml     
2024-04-26 09:33:20.000000000 +0200
+++ new/wayland-protocols-1.37/unstable/xdg-shell/xdg-shell-unstable-v6.xml     
2024-08-31 09:25:04.000000000 +0200
@@ -443,8 +443,7 @@
        portions like drop-shadows which should be ignored for the
        purposes of aligning, placing and constraining windows.
 
-       The window geometry is double buffered, and will be applied at the
-       time wl_surface.commit of the corresponding wl_surface is called.
+       The window geometry is double-buffered state, see wl_surface.commit.
 
        Once the window geometry of the surface is set, it is not possible to
        unset it, and it will remain the same until set_window_geometry is
@@ -693,8 +692,7 @@
        configure event to ensure that both the client and the compositor
        setting the state can be synchronized.
 
-       States set in this way are double-buffered. They will get applied on
-       the next commit.
+       States set in this way are double-buffered, see wl_surface.commit.
       </description>
       <entry name="maximized" value="1" summary="the surface is maximized">
        <description summary="the surface is maximized">
@@ -737,8 +735,7 @@
        The width and height arguments are in window geometry coordinates.
        See xdg_surface.set_window_geometry.
 
-       Values set in this way are double-buffered. They will get applied
-       on the next commit.
+       Values set in this way are double-buffered, see wl_surface.commit.
 
        The compositor can use this information to allow or disallow
        different states like maximize or fullscreen and draw accurate
@@ -778,8 +775,7 @@
        The width and height arguments are in window geometry coordinates.
        See xdg_surface.set_window_geometry.
 
-       Values set in this way are double-buffered. They will get applied
-       on the next commit.
+       Values set in this way are double-buffered, see wl_surface.commit.
 
        The compositor can use this information to allow or disallow
        different states like maximize or fullscreen and draw accurate

Reply via email to