Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kwayland6 for openSUSE:Factory 
checked in at 2026-06-18 21:35:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland6 (Old)
 and      /work/SRC/openSUSE:Factory/.kwayland6.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwayland6"

Thu Jun 18 21:35:33 2026 rev:42 rq:1359161 version:6.7.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kwayland6/kwayland6.changes      2026-05-13 
21:38:21.597286474 +0200
+++ /work/SRC/openSUSE:Factory/.kwayland6.new.1981/kwayland6.changes    
2026-06-18 21:35:57.804437516 +0200
@@ -1,0 +2,33 @@
+Fri Jun 12 19:07:36 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 6.7.0:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.7.0
+- Changes since 6.6.91:
+  * Update version for new release 6.7.0
+
+-------------------------------------------------------------------
+Thu May 28 18:44:28 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 6.6.91:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.6.91
+- Changes since 6.6.90:
+  * Update version for new release 6.6.91
+  * Does not build without PlasmaWaylandProtocols 1.21.0
+
+-------------------------------------------------------------------
+Sun May 24 11:17:46 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 6.6.90:
+  * New feature release
+  * For more details see https://kde.org/announcements/plasma/6/6.6.90
+- Changes since 6.6.5:
+  * Update version for new release 6.6.90
+  * Use default DEFAULT_SEVERITY for logging
+  * add support for per-output virtual desktops
+  * add PlasmaVirtualDesktop::position
+  * Destroy server side wl_registry object too
+  * Update version for new release 6.6.80
+
+-------------------------------------------------------------------

Old:
----
  kwayland-6.6.5.tar.xz
  kwayland-6.6.5.tar.xz.sig

New:
----
  kwayland-6.7.0.tar.xz
  kwayland-6.7.0.tar.xz.sig

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

Other differences:
------------------
++++++ kwayland6.spec ++++++
--- /var/tmp/diff_new_pack.9fSmIw/_old  2026-06-18 21:35:58.608471112 +0200
+++ /var/tmp/diff_new_pack.9fSmIw/_new  2026-06-18 21:35:58.608471112 +0200
@@ -16,20 +16,20 @@
 #
 
 
-%define kf6_version 6.18.0
-%define qt6_version 6.9.0
+%define kf6_version 6.26.0
+%define qt6_version 6.10.0
 
 %define rname kwayland
 %bcond_without released
 Name:           kwayland6
-Version:        6.6.5
+Version:        6.7.0
 Release:        0
 Summary:        KDE Wayland library
 License:        LGPL-2.1-or-later
 URL:            https://www.kde.org
-Source:         
https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
+Source:         %{rname}-%{version}.tar.xz
 %if %{with released}
-Source1:        
https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig
+Source1:        %{rname}-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
 BuildRequires:  doxygen

++++++ kwayland-6.6.5.tar.xz -> kwayland-6.7.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-6.6.5/CMakeLists.txt 
new/kwayland-6.7.0/CMakeLists.txt
--- old/kwayland-6.6.5/CMakeLists.txt   2026-05-12 12:26:25.000000000 +0200
+++ new/kwayland-6.7.0/CMakeLists.txt   2026-06-11 11:33:07.000000000 +0200
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(PROJECT_VERSION "6.6.5")
+set(PROJECT_VERSION "6.7.0")
 project(kwayland VERSION ${PROJECT_VERSION})
 
 set(QT_MIN_VERSION "6.10.0")
-set(KF6_MIN_VERSION "6.22.0")
+set(KF6_MIN_VERSION "6.26.0")
 
 set(CMAKE_CXX_STANDARD 20)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -50,7 +50,7 @@
     find_package(Qt6WaylandClientPrivate ${REQUIRED_QT_VERSION} REQUIRED 
NO_MODULE)
 endif()
 
-find_package(Wayland 1.15 COMPONENTS Client)
+find_package(Wayland 1.24 COMPONENTS Client)
 set_package_properties(Wayland PROPERTIES
                        TYPE REQUIRED
                       )
@@ -63,14 +63,14 @@
 find_package(EGL)
 set_package_properties(EGL PROPERTIES TYPE REQUIRED)
 
-find_package(PlasmaWaylandProtocols 1.19.0 CONFIG)
+find_package(PlasmaWaylandProtocols 1.21.0 CONFIG)
 set_package_properties(PlasmaWaylandProtocols PROPERTIES TYPE REQUIRED)
 
 # adjusting CMAKE_C_FLAGS to get wayland protocols to compile
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu90")
 
 ecm_set_disabled_deprecation_versions(
-    QT 6.8.1
+    QT 6.11.0
 )
 
 check_cxx_source_compiles("
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-6.6.5/src/client/CMakeLists.txt 
new/kwayland-6.7.0/src/client/CMakeLists.txt
--- old/kwayland-6.6.5/src/client/CMakeLists.txt        2026-05-12 
12:26:25.000000000 +0200
+++ new/kwayland-6.7.0/src/client/CMakeLists.txt        2026-06-11 
11:33:07.000000000 +0200
@@ -61,7 +61,6 @@
     IDENTIFIER KWAYLAND_CLIENT
     CATEGORY_NAME kde.plasma.wayland.client
     OLD_CATEGORY_NAMES kwayland-client kf.wayland.client
-    DEFAULT_SEVERITY Critical
     DESCRIPTION "KWayland Client Library"
     EXPORT KWAYLAND
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-6.6.5/src/client/plasmavirtualdesktop.cpp 
new/kwayland-6.7.0/src/client/plasmavirtualdesktop.cpp
--- old/kwayland-6.6.5/src/client/plasmavirtualdesktop.cpp      2026-05-12 
12:26:25.000000000 +0200
+++ new/kwayland-6.7.0/src/client/plasmavirtualdesktop.cpp      2026-06-11 
11:33:07.000000000 +0200
@@ -8,7 +8,10 @@
 #include "wayland_pointer_p.h"
 
 #include <QDebug>
+#include <QGuiApplication>
 #include <QMap>
+#include <QHash>
+#include <QScreen>
 
 #include <wayland-plasma-virtual-desktop-client-protocol.h>
 
@@ -28,6 +31,7 @@
 
     quint32 rows = 1;
     QList<PlasmaVirtualDesktop *> desktops;
+    QHash<QString, QString> currentDesktops;
 
     inline QList<PlasmaVirtualDesktop *>::const_iterator 
constFindDesktop(const QString &id);
     inline QList<PlasmaVirtualDesktop *>::iterator findDesktop(const QString 
&id);
@@ -56,6 +60,7 @@
     QString id;
     QString name;
     bool active = false;
+    quint32 position = 0;
 
 private:
     PlasmaVirtualDesktop *q;
@@ -68,6 +73,8 @@
     static void deactivatedCallback(void *data, org_kde_plasma_virtual_desktop 
*org_kde_plasma_virtual_desktop);
     static void doneCallback(void *data, org_kde_plasma_virtual_desktop 
*org_kde_plasma_virtual_desktop);
     static void removedCallback(void *data, org_kde_plasma_virtual_desktop 
*org_kde_plasma_virtual_desktop);
+    static void positionCallback(void *data, org_kde_plasma_virtual_desktop 
*org_kde_plasma_virtual_desktop, uint32_t index);
+    static void outputEnteredCallback(void *data, 
org_kde_plasma_virtual_desktop *org_kde_plasma_virtual_desktop, const char 
*output_name);
 
     static const org_kde_plasma_virtual_desktop_listener s_listener;
 };
@@ -104,6 +111,9 @@
 
     p->desktops.insert(position, vd);
     // TODO: emit a lot of desktopMoved?
+    connect(vd, &PlasmaVirtualDesktop::outputEntered, p->q, [p, vd](const 
QString &outputName) {
+        p->currentDesktops[outputName] = vd->id();
+    });
 
     Q_EMIT p->q->desktopCreated(stringId, position);
 }
@@ -163,6 +173,9 @@
     Q_ASSERT(!plasmavirtualdesktopmanagement);
     plasmavirtualdesktopmanagement.setup(arg);
     
org_kde_plasma_virtual_desktop_management_add_listener(plasmavirtualdesktopmanagement,
 &s_listener, this);
+    connect(qGuiApp, &QGuiApplication::screenRemoved, q, [this](QScreen 
*screen) {
+        currentDesktops.remove(screen->name());
+    });
 }
 
 PlasmaVirtualDesktopManagement::~PlasmaVirtualDesktopManagement()
@@ -264,8 +277,18 @@
     return d->rows;
 }
 
+PlasmaVirtualDesktop 
*PlasmaVirtualDesktopManagement::currentDesktopByOutputName(const QString 
&outputName) const
+{
+    auto it = d->constFindDesktop(d->currentDesktops.value(outputName));
+    if (it != d->desktops.constEnd()) {
+        return *it;
+    }
+
+    return nullptr;
+}
+
 const org_kde_plasma_virtual_desktop_listener 
PlasmaVirtualDesktop::Private::s_listener =
-    {idCallback, nameCallback, activatedCallback, deactivatedCallback, 
doneCallback, removedCallback};
+    {idCallback, nameCallback, activatedCallback, deactivatedCallback, 
doneCallback, removedCallback, positionCallback, outputEnteredCallback};
 
 void PlasmaVirtualDesktop::Private::idCallback(void *data, 
org_kde_plasma_virtual_desktop *org_kde_plasma_virtual_desktop, const char *id)
 {
@@ -311,6 +334,21 @@
     Q_EMIT p->q->removed();
 }
 
+void PlasmaVirtualDesktop::Private::positionCallback(void *data, 
org_kde_plasma_virtual_desktop *org_kde_plasma_virtual_desktop, uint32_t index)
+{
+    auto p = reinterpret_cast<PlasmaVirtualDesktop::Private *>(data);
+    Q_ASSERT(p->plasmavirtualdesktop == org_kde_plasma_virtual_desktop);
+    p->position = index;
+    Q_EMIT p->q->positionChanged(index);
+}
+
+void PlasmaVirtualDesktop::Private::outputEnteredCallback(void *data, 
org_kde_plasma_virtual_desktop *org_kde_plasma_virtual_desktop, const char 
*output_name)
+{
+    auto p = reinterpret_cast<PlasmaVirtualDesktop::Private *>(data);
+    Q_ASSERT(p->plasmavirtualdesktop == org_kde_plasma_virtual_desktop);
+    Q_EMIT p->q->outputEntered(QString::fromUtf8(output_name));
+}
+
 PlasmaVirtualDesktop::Private::Private(PlasmaVirtualDesktop *q)
     : q(q)
 {
@@ -371,6 +409,12 @@
     org_kde_plasma_virtual_desktop_request_activate(d->plasmavirtualdesktop);
 }
 
+void PlasmaVirtualDesktop::requestEnterOutput(const QString &outputName)
+{
+    Q_ASSERT(isValid());
+    
org_kde_plasma_virtual_desktop_request_enter_output(d->plasmavirtualdesktop, 
outputName.toUtf8().constData());
+}
+
 QString PlasmaVirtualDesktop::id() const
 {
     return d->id;
@@ -386,6 +430,11 @@
     return d->active;
 }
 
+quint32 PlasmaVirtualDesktop::position() const
+{
+    return d->position;
+}
+
 }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-6.6.5/src/client/plasmavirtualdesktop.h 
new/kwayland-6.7.0/src/client/plasmavirtualdesktop.h
--- old/kwayland-6.6.5/src/client/plasmavirtualdesktop.h        2026-05-12 
12:26:25.000000000 +0200
+++ new/kwayland-6.7.0/src/client/plasmavirtualdesktop.h        2026-06-11 
11:33:07.000000000 +0200
@@ -134,6 +134,12 @@
      */
     quint32 rows() const;
 
+    /**
+     * @returns The currently active desktop on an output identified by @p 
outputName.
+     * @since 6.7
+     */
+    PlasmaVirtualDesktop *currentDesktopByOutputName(const QString 
&outputName) const;
+
     operator org_kde_plasma_virtual_desktop_management *();
     operator org_kde_plasma_virtual_desktop_management *() const;
 
@@ -220,6 +226,14 @@
     void requestActivate();
 
     /**
+     * Requests this desktop to be activated on output given by @p outputName.
+     * The server may or may not decide to consent to the request.
+     * The server may activate the desktop on other outputs as well.
+     * @since 6.7
+     */
+    void requestEnterOutput(const QString &outputName);
+
+    /**
      * @returns The unique id of this desktop. The format of the id is decided 
by the compositor
      */
     QString id() const;
@@ -237,6 +251,14 @@
      */
     bool isActive() const;
 
+    /**
+     * The position of the virtual desktop in the desktop list. The virtual
+     * desktop position is in the [0, N - 1] range, where N is the number of
+     * virtual desktops.
+     * @since 6.7
+     */
+    quint32 position() const;
+
     operator org_kde_plasma_virtual_desktop *();
     operator org_kde_plasma_virtual_desktop *() const;
 
@@ -253,6 +275,17 @@
     void deactivated();
 
     /**
+     * @since 6.7
+     */
+    void positionChanged(quint32 position);
+
+    /**
+     * Emitted when this desktop becomes active on the output corresponding to 
@p outputName.
+     * @since 6.7
+     */
+    void outputEntered(const QString &outputName);
+
+    /**
      * This event is sent after all other properties has been
      * sent after binding to the desktop manager object and after any
      * other property changes done after that. This allows
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-6.6.5/src/client/registry.cpp 
new/kwayland-6.7.0/src/client/registry.cpp
--- old/kwayland-6.6.5/src/client/registry.cpp  2026-05-12 12:26:25.000000000 
+0200
+++ new/kwayland-6.7.0/src/client/registry.cpp  2026-06-11 11:33:07.000000000 
+0200
@@ -148,7 +148,7 @@
         &Registry::plasmaShellRemoved
     }},
     {Registry::Interface::PlasmaVirtualDesktopManagement, {
-        2,
+        4,
         QByteArrayLiteral("org_kde_plasma_virtual_desktop_management"),
         &org_kde_plasma_virtual_desktop_management_interface,
         &Registry::plasmaVirtualDesktopManagementAnnounced,
@@ -338,6 +338,7 @@
     WaylandPointer<wl_registry, wl_registry_destroy> registry;
     static const struct wl_callback_listener s_callbackListener;
     WaylandPointer<wl_callback, wl_callback_destroy> callback;
+    WaylandPointer<wl_fixes, wl_fixes_destroy> fixes;
     EventQueue *queue = nullptr;
 
 private:
@@ -382,8 +383,12 @@
 
 void Registry::release()
 {
+    if (d->fixes && d->registry) {
+        wl_fixes_destroy_registry(d->fixes, d->registry);
+    }
     d->registry.release();
     d->callback.release();
+    d->fixes.release();
 }
 
 void Registry::destroy()
@@ -391,6 +396,7 @@
     Q_EMIT registryDestroyed();
     d->registry.destroy();
     d->callback.destroy();
+    d->fixes.destroy();
 }
 
 void Registry::create(wl_display *display)
@@ -429,6 +435,9 @@
     if (d->callback) {
         d->queue->addProxy(d->callback);
     }
+    if (d->fixes) {
+        d->queue->addProxy(d->fixes);
+    }
 }
 
 EventQueue *Registry::eventQueue()
@@ -486,6 +495,13 @@
 void Registry::Private::handleAnnounce(uint32_t name, const char *interface, 
uint32_t version)
 {
     Interface i = nameToInterface(interface);
+    if (qstrcmp(interface, wl_fixes_interface.name) == 0) {
+        fixes.setup(reinterpret_cast<wl_fixes *>(wl_registry_bind(registry, 
name, &wl_fixes_interface, 1)));
+        if (queue) {
+            queue->addProxy(fixes);
+        }
+    }
+
     if (i == Interface::Unknown) {
         qCDebug(KWAYLAND_CLIENT) << "Unknown interface announced: " << 
interface << "/" << name << "/" << version;
     } else {

Reply via email to