Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wayclip for openSUSE:Factory checked 
in at 2025-12-31 10:47:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wayclip (Old)
 and      /work/SRC/openSUSE:Factory/.wayclip.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wayclip"

Wed Dec 31 10:47:41 2025 rev:3 rq:1324846 version:0.5+git.1754102356.a0826e7

Changes:
--------
--- /work/SRC/openSUSE:Factory/wayclip/wayclip.changes  2025-04-02 
18:42:45.245992345 +0200
+++ /work/SRC/openSUSE:Factory/.wayclip.new.1928/wayclip.changes        
2025-12-31 10:48:21.660775831 +0100
@@ -1,0 +2,6 @@
+Mon Dec 01 17:01:33 UTC 2025 - Matej Cepl <[email protected]>
+
+- Update to version 0.5+git.1754102356.a0826e7:
+  * replace wlr-data-control-unstable-v1 with ext-data-control-v1
+
+-------------------------------------------------------------------

Old:
----
  wayclip-0.4.2+git.1709775940.a62ac18.tar.xz

New:
----
  wayclip-0.5+git.1754102356.a0826e7.tar.xz

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

Other differences:
------------------
++++++ wayclip.spec ++++++
--- /var/tmp/diff_new_pack.maghTa/_old  2025-12-31 10:48:22.204798093 +0100
+++ /var/tmp/diff_new_pack.maghTa/_new  2025-12-31 10:48:22.208798256 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           wayclip
-Version:        0.4.2+git.1709775940.a62ac18
+Version:        0.5+git.1754102356.a0826e7
 Release:        0
 Summary:        Wayland clipboard utility
 License:        ISC

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.maghTa/_old  2025-12-31 10:48:22.244799730 +0100
+++ /var/tmp/diff_new_pack.maghTa/_new  2025-12-31 10:48:22.248799893 +0100
@@ -1,5 +1,5 @@
-mtime: 1743604398
-commit: e08744fa5677a9e2d7a76bf27a91ac2fb97427d7
+mtime: 1766422422
+commit: 179041b8ac3f793abd7232b3233174a9f3fc01e0
 url: https://src.opensuse.org/mcepl/wayclip.git
 revision: factory
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.maghTa/_old  2025-12-31 10:48:22.284801366 +0100
+++ /var/tmp/diff_new_pack.maghTa/_new  2025-12-31 10:48:22.288801530 +0100
@@ -1,9 +1,8 @@
 <services>
   <service name="tar_scm" mode="manual">
-    <param name="url">https://git.sr.ht/~mcepl/wayclip</param>
-    <param name="versionprefix">0.4.2+git</param>
+    <param name="url">https://git.sr.ht/~noocsharp/wayclip</param>
+    <param name="versionprefix">0.5+git</param>
     <param name="scm">git</param>
-    <param name="revision">devel</param>
     <param name="changesgenerate">enable</param>
   </service>
   <service name="set_version" mode="manual"/>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.maghTa/_old  2025-12-31 10:48:22.308802348 +0100
+++ /var/tmp/diff_new_pack.maghTa/_new  2025-12-31 10:48:22.312802513 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
-                <param name="url">https://git.sr.ht/~mcepl/wayclip</param>
-              <param 
name="changesrevision">a62ac18e5e56085bd416fbe5fbe22b3560291e7b</param></service></servicedata>
+                <param name="url">https://git.sr.ht/~noocsharp/wayclip</param>
+              <param 
name="changesrevision">a0826e72e2c5bda81359390d05cf4fc18d306e06</param></service></servicedata>
 (No newline at EOF)
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-12-22 17:54:00.000000000 +0100
@@ -0,0 +1,5 @@
+.osc
+build.specials.obscpio
+series
+*.obscpio
+wayclip/

++++++ wayclip-0.4.2+git.1709775940.a62ac18.tar.xz -> 
wayclip-0.5+git.1754102356.a0826e7.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayclip-0.4.2+git.1709775940.a62ac18/Makefile 
new/wayclip-0.5+git.1754102356.a0826e7/Makefile
--- old/wayclip-0.4.2+git.1709775940.a62ac18/Makefile   2024-03-07 
02:45:40.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/Makefile     2025-08-02 
04:39:16.000000000 +0200
@@ -3,7 +3,7 @@
 MANPREFIX = $(PREFIX)/share/man
 LIB = -lwayland-client
 EXE = waycopy waypaste
-OBJ_COMMON = protocol/wlr-data-control-unstable-v1.o common.o
+OBJ_COMMON = protocol/ext-data-control-v1.o common.o
 
 all: $(EXE)
 
@@ -13,15 +13,15 @@
 waycopy: waycopy.o $(OBJ_COMMON)
        $(CC) waycopy.o $(OBJ_COMMON) $(LIB) -o $@
 
-waycopy.o: waycopy.c common.h 
protocol/wlr-data-control-unstable-v1-client-protocol.h
+waycopy.o: waycopy.c common.h protocol/ext-data-control-v1-client-protocol.h
 
-waypaste.o: waypaste.c common.h 
protocol/wlr-data-control-unstable-v1-client-protocol.h
+waypaste.o: waypaste.c common.h protocol/ext-data-control-v1-client-protocol.h
 
-protocol/wlr-data-control-unstable-v1.c: 
protocol/wlr-data-control-unstable-v1.xml
-       wayland-scanner private-code protocol/wlr-data-control-unstable-v1.xml 
$@
+protocol/ext-data-control-v1.c: protocol/ext-data-control-v1.xml
+       wayland-scanner private-code protocol/ext-data-control-v1.xml $@
 
-protocol/wlr-data-control-unstable-v1-client-protocol.h: 
protocol/wlr-data-control-unstable-v1.xml
-       wayland-scanner client-header protocol/wlr-data-control-unstable-v1.xml 
$@
+protocol/ext-data-control-v1-client-protocol.h: 
protocol/ext-data-control-v1.xml
+       wayland-scanner client-header protocol/ext-data-control-v1.xml $@
 
 .c.o:
        $(CC) -Wall -Wpedantic $(CFLAGS) -c $< -o $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayclip-0.4.2+git.1709775940.a62ac18/README.md 
new/wayclip-0.5+git.1754102356.a0826e7/README.md
--- old/wayclip-0.4.2+git.1709775940.a62ac18/README.md  2024-03-07 
02:45:40.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/README.md    2025-08-02 
04:39:16.000000000 +0200
@@ -2,7 +2,7 @@
 
 wayclip is a pair of command-line utilities: `waycopy` and `waypaste`,
 which allow access to the Wayland clipboard. Specifically, `wayclip`
-is a `wlr-data-control` protocol client.
+is an `ext-data-control` protocol client.
 
 wayclip distinguishes itself from other Wayland clipboard utilities
 in the following ways:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayclip-0.4.2+git.1709775940.a62ac18/common.c 
new/wayclip-0.5+git.1754102356.a0826e7/common.c
--- old/wayclip-0.4.2+git.1709775940.a62ac18/common.c   2024-03-07 
02:45:40.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/common.c     2025-08-02 
04:39:16.000000000 +0200
@@ -1,4 +1,5 @@
 #define _POSIX_C_SOURCE 2 // getopt
+
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -6,7 +7,7 @@
 #include <unistd.h>
 #include <wayland-client.h>
 
-#include "protocol/wlr-data-control-unstable-v1-client-protocol.h"
+#include "protocol/ext-data-control-v1-client-protocol.h"
 #include "common.h"
 
 const char *argv0;
@@ -14,7 +15,7 @@
 static bool seat_found = false;
 
 struct wl_seat *seat;
-struct zwlr_data_control_manager_v1 *data_control_manager;
+struct ext_data_control_manager_v1 *data_control_manager;
 
 struct options options = {
        .type = "text/plain;charset=utf-8"
@@ -43,13 +44,13 @@
 registry_global(void *data, struct wl_registry *registry, uint32_t name, const 
char *interface, uint32_t version)
 {
        if (!seat_found && strcmp(interface, "wl_seat") == 0) {
-               seat = wl_registry_bind(registry, name, &wl_seat_interface, 2);
+               seat = wl_registry_bind(registry, name, &wl_seat_interface, 1);
                if (options.seat) {
                        wl_seat_add_listener(seat, &seat_listener, NULL);
                        seat = NULL;
                } else seat_found = true;
-       } else if (strcmp(interface, "zwlr_data_control_manager_v1") == 0) {
-               data_control_manager = wl_registry_bind(registry, name, 
&zwlr_data_control_manager_v1_interface, 2);
+       } else if (strcmp(interface, "ext_data_control_manager_v1") == 0) {
+               data_control_manager = wl_registry_bind(registry, name, 
&ext_data_control_manager_v1_interface, 1);
        }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayclip-0.4.2+git.1709775940.a62ac18/common.h 
new/wayclip-0.5+git.1754102356.a0826e7/common.h
--- old/wayclip-0.4.2+git.1709775940.a62ac18/common.h   2024-03-07 
02:45:40.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/common.h     2025-08-02 
04:39:16.000000000 +0200
@@ -1,5 +1,5 @@
 extern struct wl_seat *seat;
-extern struct zwlr_data_control_manager_v1 *data_control_manager;
+extern struct ext_data_control_manager_v1 *data_control_manager;
 extern const struct wl_registry_listener registry_listener;
 
 extern const char *argv0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayclip-0.4.2+git.1709775940.a62ac18/protocol/ext-data-control-v1.xml 
new/wayclip-0.5+git.1754102356.a0826e7/protocol/ext-data-control-v1.xml
--- old/wayclip-0.4.2+git.1709775940.a62ac18/protocol/ext-data-control-v1.xml   
1970-01-01 01:00:00.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/protocol/ext-data-control-v1.xml     
2025-08-02 04:39:16.000000000 +0200
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="ext_data_control_v1">
+  <copyright>
+    Copyright © 2018 Simon Ser
+    Copyright © 2019 Ivan Molodetskikh
+    Copyright © 2024 Neal Gompa
+
+    Permission to use, copy, modify, distribute, and sell this
+    software and its documentation for any purpose is hereby granted
+    without fee, provided that the above copyright notice appear in
+    all copies and that both that copyright notice and this permission
+    notice appear in supporting documentation, and that the name of
+    the copyright holders not be used in advertising or publicity
+    pertaining to distribution of the software without specific,
+    written prior permission.  The copyright holders make no
+    representations about the suitability of this software for any
+    purpose.  It is provided "as is" without express or implied
+    warranty.
+
+    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+    AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+    THIS SOFTWARE.
+  </copyright>
+
+  <description summary="control data devices">
+    This protocol allows a privileged client to control data devices. In
+    particular, the client will be able to manage the current selection and 
take
+    the role of a clipboard manager.
+
+    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_data_control_manager_v1" version="1">
+    <description summary="manager to control data devices">
+      This interface is a manager that allows creating per-seat data device
+      controls.
+    </description>
+
+    <request name="create_data_source">
+      <description summary="create a new data source">
+        Create a new data source.
+      </description>
+      <arg name="id" type="new_id" interface="ext_data_control_source_v1"
+        summary="data source to create"/>
+    </request>
+
+    <request name="get_data_device">
+      <description summary="get a data device for a seat">
+        Create a data device that can be used to manage a seat's selection.
+      </description>
+      <arg name="id" type="new_id" interface="ext_data_control_device_v1"/>
+      <arg name="seat" type="object" interface="wl_seat"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy the manager">
+        All objects created by the manager will still remain valid, until their
+        appropriate destroy request has been called.
+      </description>
+    </request>
+  </interface>
+
+  <interface name="ext_data_control_device_v1" version="1">
+    <description summary="manage a data device for a seat">
+      This interface allows a client to manage a seat's selection.
+
+      When the seat is destroyed, this object becomes inert.
+    </description>
+
+    <request name="set_selection">
+      <description summary="copy data to the selection">
+        This request asks the compositor to set the selection to the data from
+        the source on behalf of the client.
+
+        The given source may not be used in any further set_selection or
+        set_primary_selection requests. Attempting to use a previously used
+        source triggers the used_source protocol error.
+
+        To unset the selection, set the source to NULL.
+      </description>
+      <arg name="source" type="object" interface="ext_data_control_source_v1"
+        allow-null="true"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy this data device">
+        Destroys the data device object.
+      </description>
+    </request>
+
+    <event name="data_offer">
+      <description summary="introduce a new ext_data_control_offer">
+        The data_offer event introduces a new ext_data_control_offer object,
+        which will subsequently be used in either the
+        ext_data_control_device.selection event (for the regular clipboard
+        selections) or the ext_data_control_device.primary_selection event (for
+        the primary clipboard selections). Immediately following the
+        ext_data_control_device.data_offer event, the new data_offer object
+        will send out ext_data_control_offer.offer events to describe the MIME
+        types it offers.
+      </description>
+      <arg name="id" type="new_id" interface="ext_data_control_offer_v1"/>
+    </event>
+
+    <event name="selection">
+      <description summary="advertise new selection">
+        The selection event is sent out to notify the client of a new
+        ext_data_control_offer for the selection for this device. The
+        ext_data_control_device.data_offer and the ext_data_control_offer.offer
+        events are sent out immediately before this event to introduce the data
+        offer object. The selection event is sent to a client when a new
+        selection is set. The ext_data_control_offer is valid until a new
+        ext_data_control_offer or NULL is received. The client must destroy the
+        previous selection ext_data_control_offer, if any, upon receiving this
+        event. Regardless, the previous selection will be ignored once a new
+        selection ext_data_control_offer is received.
+
+        The first selection event is sent upon binding the
+        ext_data_control_device object.
+      </description>
+      <arg name="id" type="object" interface="ext_data_control_offer_v1"
+        allow-null="true"/>
+    </event>
+
+    <event name="finished">
+      <description summary="this data control is no longer valid">
+        This data control object is no longer valid and should be destroyed by
+        the client.
+      </description>
+    </event>
+
+    <event name="primary_selection">
+      <description summary="advertise new primary selection">
+        The primary_selection event is sent out to notify the client of a new
+        ext_data_control_offer for the primary selection for this device. The
+        ext_data_control_device.data_offer and the ext_data_control_offer.offer
+        events are sent out immediately before this event to introduce the data
+        offer object. The primary_selection event is sent to a client when a
+        new primary selection is set. The ext_data_control_offer is valid until
+        a new ext_data_control_offer or NULL is received. The client must
+        destroy the previous primary selection ext_data_control_offer, if any,
+        upon receiving this event. Regardless, the previous primary selection
+        will be ignored once a new primary selection ext_data_control_offer is
+        received.
+
+        If the compositor supports primary selection, the first
+        primary_selection event is sent upon binding the
+        ext_data_control_device object.
+      </description>
+      <arg name="id" type="object" interface="ext_data_control_offer_v1"
+        allow-null="true"/>
+    </event>
+
+    <request name="set_primary_selection">
+      <description summary="copy data to the primary selection">
+        This request asks the compositor to set the primary selection to the
+        data from the source on behalf of the client.
+
+        The given source may not be used in any further set_selection or
+        set_primary_selection requests. Attempting to use a previously used
+        source triggers the used_source protocol error.
+
+        To unset the primary selection, set the source to NULL.
+
+        The compositor will ignore this request if it does not support primary
+        selection.
+      </description>
+      <arg name="source" type="object" interface="ext_data_control_source_v1"
+        allow-null="true"/>
+    </request>
+
+    <enum name="error">
+      <entry name="used_source" value="1"
+        summary="source given to set_selection or set_primary_selection was 
already used before"/>
+    </enum>
+  </interface>
+
+  <interface name="ext_data_control_source_v1" version="1">
+    <description summary="offer to transfer data">
+      The ext_data_control_source object is the source side of a
+      ext_data_control_offer. It is created by the source client in a data
+      transfer and provides a way to describe the offered data and a way to
+      respond to requests to transfer the data.
+    </description>
+
+    <enum name="error">
+      <entry name="invalid_offer" value="1"
+        summary="offer sent after ext_data_control_device.set_selection"/>
+    </enum>
+
+    <request name="offer">
+      <description summary="add an offered MIME type">
+        This request adds a MIME type to the set of MIME types advertised to
+        targets. Can be called several times to offer multiple types.
+
+        Calling this after ext_data_control_device.set_selection is a protocol
+        error.
+      </description>
+      <arg name="mime_type" type="string"
+        summary="MIME type offered by the data source"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy this source">
+        Destroys the data source object.
+      </description>
+    </request>
+
+    <event name="send">
+      <description summary="send the data">
+        Request for data from the client. Send the data as the specified MIME
+        type over the passed file descriptor, then close it.
+      </description>
+      <arg name="mime_type" type="string" summary="MIME type for the data"/>
+      <arg name="fd" type="fd" summary="file descriptor for the data"/>
+    </event>
+
+    <event name="cancelled">
+      <description summary="selection was cancelled">
+        This data source is no longer valid. The data source has been replaced
+        by another data source.
+
+        The client should clean up and destroy this data source.
+      </description>
+    </event>
+  </interface>
+
+  <interface name="ext_data_control_offer_v1" version="1">
+    <description summary="offer to transfer data">
+      A ext_data_control_offer represents a piece of data offered for transfer
+      by another client (the source client). The offer describes the different
+      MIME types that the data can be converted to and provides the mechanism
+      for transferring the data directly from the source client.
+    </description>
+
+    <request name="receive">
+      <description summary="request that the data is transferred">
+        To transfer the offered data, the client issues this request and
+        indicates the MIME type it wants to receive. The transfer happens
+        through the passed file descriptor (typically created with the pipe
+        system call). The source client writes the data in the MIME type
+        representation requested and then closes the file descriptor.
+
+        The receiving client reads from the read end of the pipe until EOF and
+        then closes its end, at which point the transfer is complete.
+
+        This request may happen multiple times for different MIME types.
+      </description>
+      <arg name="mime_type" type="string"
+        summary="MIME type desired by receiver"/>
+      <arg name="fd" type="fd" summary="file descriptor for data transfer"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy this offer">
+        Destroys the data offer object.
+      </description>
+    </request>
+
+    <event name="offer">
+      <description summary="advertise offered MIME type">
+        Sent immediately after creating the ext_data_control_offer object.
+        One event per offered MIME type.
+      </description>
+      <arg name="mime_type" type="string" summary="offered MIME type"/>
+    </event>
+  </interface>
+</protocol>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayclip-0.4.2+git.1709775940.a62ac18/protocol/wlr-data-control-unstable-v1.xml
 
new/wayclip-0.5+git.1754102356.a0826e7/protocol/wlr-data-control-unstable-v1.xml
--- 
old/wayclip-0.4.2+git.1709775940.a62ac18/protocol/wlr-data-control-unstable-v1.xml
  2024-03-07 02:45:40.000000000 +0100
+++ 
new/wayclip-0.5+git.1754102356.a0826e7/protocol/wlr-data-control-unstable-v1.xml
    1970-01-01 01:00:00.000000000 +0100
@@ -1,278 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<protocol name="wlr_data_control_unstable_v1">
-  <copyright>
-    Copyright © 2018 Simon Ser
-    Copyright © 2019 Ivan Molodetskikh
-
-    Permission to use, copy, modify, distribute, and sell this
-    software and its documentation for any purpose is hereby granted
-    without fee, provided that the above copyright notice appear in
-    all copies and that both that copyright notice and this permission
-    notice appear in supporting documentation, and that the name of
-    the copyright holders not be used in advertising or publicity
-    pertaining to distribution of the software without specific,
-    written prior permission.  The copyright holders make no
-    representations about the suitability of this software for any
-    purpose.  It is provided "as is" without express or implied
-    warranty.
-
-    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
-    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
-    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-    AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-    ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-    THIS SOFTWARE.
-  </copyright>
-
-  <description summary="control data devices">
-    This protocol allows a privileged client to control data devices. In
-    particular, the client will be able to manage the current selection and 
take
-    the role of a clipboard manager.
-
-    Warning! The protocol described in this file is experimental and
-    backward incompatible changes may be made. Backward compatible changes
-    may be added together with the corresponding interface version bump.
-    Backward incompatible changes are done by bumping the version number in
-    the protocol and interface names and resetting the interface version.
-    Once the protocol is to be declared stable, the 'z' prefix and the
-    version number in the protocol and interface names are removed and the
-    interface version number is reset.
-  </description>
-
-  <interface name="zwlr_data_control_manager_v1" version="2">
-    <description summary="manager to control data devices">
-      This interface is a manager that allows creating per-seat data device
-      controls.
-    </description>
-
-    <request name="create_data_source">
-      <description summary="create a new data source">
-        Create a new data source.
-      </description>
-      <arg name="id" type="new_id" interface="zwlr_data_control_source_v1"
-        summary="data source to create"/>
-    </request>
-
-    <request name="get_data_device">
-      <description summary="get a data device for a seat">
-        Create a data device that can be used to manage a seat's selection.
-      </description>
-      <arg name="id" type="new_id" interface="zwlr_data_control_device_v1"/>
-      <arg name="seat" type="object" interface="wl_seat"/>
-    </request>
-
-    <request name="destroy" type="destructor">
-      <description summary="destroy the manager">
-        All objects created by the manager will still remain valid, until their
-        appropriate destroy request has been called.
-      </description>
-    </request>
-  </interface>
-
-  <interface name="zwlr_data_control_device_v1" version="2">
-    <description summary="manage a data device for a seat">
-      This interface allows a client to manage a seat's selection.
-
-      When the seat is destroyed, this object becomes inert.
-    </description>
-
-    <request name="set_selection">
-      <description summary="copy data to the selection">
-        This request asks the compositor to set the selection to the data from
-        the source on behalf of the client.
-
-        The given source may not be used in any further set_selection or
-        set_primary_selection requests. Attempting to use a previously used
-        source is a protocol error.
-
-        To unset the selection, set the source to NULL.
-      </description>
-      <arg name="source" type="object" interface="zwlr_data_control_source_v1"
-        allow-null="true"/>
-    </request>
-
-    <request name="destroy" type="destructor">
-      <description summary="destroy this data device">
-        Destroys the data device object.
-      </description>
-    </request>
-
-    <event name="data_offer">
-      <description summary="introduce a new wlr_data_control_offer">
-        The data_offer event introduces a new wlr_data_control_offer object,
-        which will subsequently be used in either the
-        wlr_data_control_device.selection event (for the regular clipboard
-        selections) or the wlr_data_control_device.primary_selection event (for
-        the primary clipboard selections). Immediately following the
-        wlr_data_control_device.data_offer event, the new data_offer object
-        will send out wlr_data_control_offer.offer events to describe the MIME
-        types it offers.
-      </description>
-      <arg name="id" type="new_id" interface="zwlr_data_control_offer_v1"/>
-    </event>
-
-    <event name="selection">
-      <description summary="advertise new selection">
-        The selection event is sent out to notify the client of a new
-        wlr_data_control_offer for the selection for this device. The
-        wlr_data_control_device.data_offer and the wlr_data_control_offer.offer
-        events are sent out immediately before this event to introduce the data
-        offer object. The selection event is sent to a client when a new
-        selection is set. The wlr_data_control_offer is valid until a new
-        wlr_data_control_offer or NULL is received. The client must destroy the
-        previous selection wlr_data_control_offer, if any, upon receiving this
-        event.
-
-        The first selection event is sent upon binding the
-        wlr_data_control_device object.
-      </description>
-      <arg name="id" type="object" interface="zwlr_data_control_offer_v1"
-        allow-null="true"/>
-    </event>
-
-    <event name="finished">
-      <description summary="this data control is no longer valid">
-        This data control object is no longer valid and should be destroyed by
-        the client.
-      </description>
-    </event>
-
-    <!-- Version 2 additions -->
-
-    <event name="primary_selection" since="2">
-      <description summary="advertise new primary selection">
-        The primary_selection event is sent out to notify the client of a new
-        wlr_data_control_offer for the primary selection for this device. The
-        wlr_data_control_device.data_offer and the wlr_data_control_offer.offer
-        events are sent out immediately before this event to introduce the data
-        offer object. The primary_selection event is sent to a client when a
-        new primary selection is set. The wlr_data_control_offer is valid until
-        a new wlr_data_control_offer or NULL is received. The client must
-        destroy the previous primary selection wlr_data_control_offer, if any,
-        upon receiving this event.
-
-        If the compositor supports primary selection, the first
-        primary_selection event is sent upon binding the
-        wlr_data_control_device object.
-      </description>
-      <arg name="id" type="object" interface="zwlr_data_control_offer_v1"
-        allow-null="true"/>
-    </event>
-
-    <request name="set_primary_selection" since="2">
-      <description summary="copy data to the primary selection">
-        This request asks the compositor to set the primary selection to the
-        data from the source on behalf of the client.
-
-        The given source may not be used in any further set_selection or
-        set_primary_selection requests. Attempting to use a previously used
-        source is a protocol error.
-
-        To unset the primary selection, set the source to NULL.
-
-        The compositor will ignore this request if it does not support primary
-        selection.
-      </description>
-      <arg name="source" type="object" interface="zwlr_data_control_source_v1"
-        allow-null="true"/>
-    </request>
-
-    <enum name="error" since="2">
-      <entry name="used_source" value="1"
-        summary="source given to set_selection or set_primary_selection was 
already used before"/>
-    </enum>
-  </interface>
-
-  <interface name="zwlr_data_control_source_v1" version="1">
-    <description summary="offer to transfer data">
-      The wlr_data_control_source object is the source side of a
-      wlr_data_control_offer. It is created by the source client in a data
-      transfer and provides a way to describe the offered data and a way to
-      respond to requests to transfer the data.
-    </description>
-
-    <enum name="error">
-      <entry name="invalid_offer" value="1"
-        summary="offer sent after wlr_data_control_device.set_selection"/>
-    </enum>
-
-    <request name="offer">
-      <description summary="add an offered MIME type">
-        This request adds a MIME type to the set of MIME types advertised to
-        targets. Can be called several times to offer multiple types.
-
-        Calling this after wlr_data_control_device.set_selection is a protocol
-        error.
-      </description>
-      <arg name="mime_type" type="string"
-        summary="MIME type offered by the data source"/>
-    </request>
-
-    <request name="destroy" type="destructor">
-      <description summary="destroy this source">
-        Destroys the data source object.
-      </description>
-    </request>
-
-    <event name="send">
-      <description summary="send the data">
-        Request for data from the client. Send the data as the specified MIME
-        type over the passed file descriptor, then close it.
-      </description>
-      <arg name="mime_type" type="string" summary="MIME type for the data"/>
-      <arg name="fd" type="fd" summary="file descriptor for the data"/>
-    </event>
-
-    <event name="cancelled">
-      <description summary="selection was cancelled">
-        This data source is no longer valid. The data source has been replaced
-        by another data source.
-
-        The client should clean up and destroy this data source.
-      </description>
-    </event>
-  </interface>
-
-  <interface name="zwlr_data_control_offer_v1" version="1">
-    <description summary="offer to transfer data">
-      A wlr_data_control_offer represents a piece of data offered for transfer
-      by another client (the source client). The offer describes the different
-      MIME types that the data can be converted to and provides the mechanism
-      for transferring the data directly from the source client.
-    </description>
-
-    <request name="receive">
-      <description summary="request that the data is transferred">
-        To transfer the offered data, the client issues this request and
-        indicates the MIME type it wants to receive. The transfer happens
-        through the passed file descriptor (typically created with the pipe
-        system call). The source client writes the data in the MIME type
-        representation requested and then closes the file descriptor.
-
-        The receiving client reads from the read end of the pipe until EOF and
-        then closes its end, at which point the transfer is complete.
-
-        This request may happen multiple times for different MIME types.
-      </description>
-      <arg name="mime_type" type="string"
-        summary="MIME type desired by receiver"/>
-      <arg name="fd" type="fd" summary="file descriptor for data transfer"/>
-    </request>
-
-    <request name="destroy" type="destructor">
-      <description summary="destroy this offer">
-        Destroys the data offer object.
-      </description>
-    </request>
-
-    <event name="offer">
-      <description summary="advertise offered MIME type">
-        Sent immediately after creating the wlr_data_control_offer object.
-        One event per offered MIME type.
-      </description>
-      <arg name="mime_type" type="string" summary="offered MIME type"/>
-    </event>
-  </interface>
-</protocol>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayclip-0.4.2+git.1709775940.a62ac18/waycopy.1 
new/wayclip-0.5+git.1754102356.a0826e7/waycopy.1
--- old/wayclip-0.4.2+git.1709775940.a62ac18/waycopy.1  2024-03-07 
02:45:40.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/waycopy.1    2025-08-02 
04:39:16.000000000 +0200
@@ -12,7 +12,7 @@
 .Op Fl t Ar mimetype
 .Sh DESCRIPTION
 .Nm
-copies data from standard in to the clipboard using the wlr-data-control
+copies data from standard in to the clipboard using the ext-data-control
 Wayland extension protocol.
 .Bl -tag -width Ds
 .It Fl f
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayclip-0.4.2+git.1709775940.a62ac18/waycopy.c 
new/wayclip-0.5+git.1754102356.a0826e7/waycopy.c
--- old/wayclip-0.4.2+git.1709775940.a62ac18/waycopy.c  2024-03-07 
02:45:40.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/waycopy.c    2025-08-02 
04:39:16.000000000 +0200
@@ -8,7 +8,7 @@
 #include <wayland-client.h>
 #include <unistd.h>
 
-#include "protocol/wlr-data-control-unstable-v1-client-protocol.h"
+#include "protocol/ext-data-control-v1-client-protocol.h"
 #include "common.h"
 
 const char *usagestr = "usage: %s [-f] [-p] [-s seat] [-t mimetype]\n";
@@ -19,7 +19,7 @@
 bool running = true;
 
 void
-data_source_send(void *data, struct zwlr_data_control_source_v1 *source, const 
char *mime_type, int32_t fd)
+data_source_send(void *data, struct ext_data_control_source_v1 *source, const 
char *mime_type, int32_t fd)
 {
        lseek(temp, SEEK_SET, 0);
 
@@ -28,12 +28,12 @@
 }
 
 void
-data_source_cancelled(void *data, struct zwlr_data_control_source_v1 *source)
+data_source_cancelled(void *data, struct ext_data_control_source_v1 *source)
 {
        running = 0;
 }
 
-static const struct zwlr_data_control_source_v1_listener data_source_listener 
= {
+static const struct ext_data_control_source_v1_listener data_source_listener = 
{
        .send = data_source_send,
        .cancelled = data_source_cancelled,
 };
@@ -87,21 +87,21 @@
        if (data_control_manager == NULL)
                die("failed to bind to data_control_manager interface");
 
-       struct zwlr_data_control_device_v1 *device = 
zwlr_data_control_manager_v1_get_data_device(data_control_manager, seat);
+       struct ext_data_control_device_v1 *device = 
ext_data_control_manager_v1_get_data_device(data_control_manager, seat);
        if (device == NULL)
                die("data device is null");
 
-       struct zwlr_data_control_source_v1 *source = 
zwlr_data_control_manager_v1_create_data_source(data_control_manager);
+       struct ext_data_control_source_v1 *source = 
ext_data_control_manager_v1_create_data_source(data_control_manager);
        if (source == NULL)
                die("source is null");
 
-       zwlr_data_control_source_v1_offer(source, options.type);
-       zwlr_data_control_source_v1_add_listener(source, &data_source_listener, 
NULL);
+       ext_data_control_source_v1_offer(source, options.type);
+       ext_data_control_source_v1_add_listener(source, &data_source_listener, 
NULL);
 
        if (options.primary)
-               zwlr_data_control_device_v1_set_primary_selection(device, 
source);
+               ext_data_control_device_v1_set_primary_selection(device, 
source);
        else
-               zwlr_data_control_device_v1_set_selection(device, source);
+               ext_data_control_device_v1_set_selection(device, source);
 
        if (!options.foreground) {
                pid_t pid = fork();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayclip-0.4.2+git.1709775940.a62ac18/waypaste.1 
new/wayclip-0.5+git.1754102356.a0826e7/waypaste.1
--- old/wayclip-0.4.2+git.1709775940.a62ac18/waypaste.1 2024-03-07 
02:45:40.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/waypaste.1   2025-08-02 
04:39:16.000000000 +0200
@@ -11,7 +11,7 @@
 .Op Fl t Ar mimetype
 .Sh DESCRIPTION
 .Nm
-pastes data to standard out from the clipboard using the wlr-data-control
+pastes data to standard out from the clipboard using the ext-data-control
 Wayland extension protocol.
 .Bl -tag -width Ds
 .It Fl p
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayclip-0.4.2+git.1709775940.a62ac18/waypaste.c 
new/wayclip-0.5+git.1754102356.a0826e7/waypaste.c
--- old/wayclip-0.4.2+git.1709775940.a62ac18/waypaste.c 2024-03-07 
02:45:40.000000000 +0100
+++ new/wayclip-0.5+git.1754102356.a0826e7/waypaste.c   2025-08-02 
04:39:16.000000000 +0200
@@ -1,24 +1,23 @@
 #include <stdbool.h>
-#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <wayland-client.h>
 #include <unistd.h>
 
-#include "protocol/wlr-data-control-unstable-v1-client-protocol.h"
+#include "protocol/ext-data-control-v1-client-protocol.h"
 #include "common.h"
 
 const char *usagestr = "usage: %s [-p] [-s seat] [-t mimetype]\n";
 
 struct wl_display *display;
-struct zwlr_data_control_offer_v1 *acceptedoffer = NULL;
+struct ext_data_control_offer_v1 *acceptedoffer = NULL;
 int pipes[2];
 
 static void
-receive(int cond, struct zwlr_data_control_offer_v1 *offer)
+receive(int cond, struct ext_data_control_offer_v1 *offer)
 {
        if (cond && acceptedoffer == offer) {
-               zwlr_data_control_offer_v1_receive(offer, options.type, 
pipes[1]);
+               ext_data_control_offer_v1_receive(offer, options.type, 
pipes[1]);
                wl_display_roundtrip(display);
                close(pipes[1]);
 
@@ -29,13 +28,13 @@
        }
 
        if (acceptedoffer)
-               zwlr_data_control_offer_v1_destroy(acceptedoffer);
+               ext_data_control_offer_v1_destroy(acceptedoffer);
 
        acceptedoffer = NULL;
 }
 
 void
-offer_offer(void *data, struct zwlr_data_control_offer_v1 *offer, const char 
*mime_type)
+offer_offer(void *data, struct ext_data_control_offer_v1 *offer, const char 
*mime_type)
 {
        if (acceptedoffer)
                return;
@@ -44,31 +43,31 @@
                acceptedoffer = offer;
 }
 
-static const struct zwlr_data_control_offer_v1_listener offer_listener = {
+static const struct ext_data_control_offer_v1_listener offer_listener = {
        .offer = offer_offer,
 };
 
 void
-control_data_offer(void *data, struct zwlr_data_control_device_v1 *device, 
struct zwlr_data_control_offer_v1 *offer)
+control_data_offer(void *data, struct ext_data_control_device_v1 *device, 
struct ext_data_control_offer_v1 *offer)
 {
-       zwlr_data_control_offer_v1_add_listener(offer, &offer_listener, NULL);
+       ext_data_control_offer_v1_add_listener(offer, &offer_listener, NULL);
 }
 
 void
-control_data_selection(void *data, struct zwlr_data_control_device_v1 *device, 
struct zwlr_data_control_offer_v1 *offer)
+control_data_selection(void *data, struct ext_data_control_device_v1 *device, 
struct ext_data_control_offer_v1 *offer)
 {
        if (offer)
                receive(!options.primary, offer);
 }
 
 void
-control_data_primary_selection(void *data, struct zwlr_data_control_device_v1 
*device, struct zwlr_data_control_offer_v1 *offer)
+control_data_primary_selection(void *data, struct ext_data_control_device_v1 
*device, struct ext_data_control_offer_v1 *offer)
 {
        if (offer)
                receive(options.primary, offer);
 }
 
-static const struct zwlr_data_control_device_v1_listener device_listener = {
+static const struct ext_data_control_device_v1_listener device_listener = {
        .data_offer = control_data_offer,
        .selection = control_data_selection,
        .primary_selection = control_data_primary_selection,
@@ -103,11 +102,11 @@
        if (pipe(pipes) == -1)
                die("failed to create pipe");
 
-       struct zwlr_data_control_device_v1 *device = 
zwlr_data_control_manager_v1_get_data_device(data_control_manager, seat);
+       struct ext_data_control_device_v1 *device = 
ext_data_control_manager_v1_get_data_device(data_control_manager, seat);
        if (device == NULL)
                die("data device is null");
 
-       zwlr_data_control_device_v1_add_listener(device, &device_listener, 
NULL);
+       ext_data_control_device_v1_add_listener(device, &device_listener, NULL);
 
        wl_display_roundtrip(display);
 }

Reply via email to