Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package layer-shell-qt6 for openSUSE:Factory 
checked in at 2026-02-16 13:06:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/layer-shell-qt6 (Old)
 and      /work/SRC/openSUSE:Factory/.layer-shell-qt6.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "layer-shell-qt6"

Mon Feb 16 13:06:29 2026 rev:37 rq:1333084 version:6.6.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/layer-shell-qt6/layer-shell-qt6.changes  
2026-01-18 22:20:18.087152229 +0100
+++ 
/work/SRC/openSUSE:Factory/.layer-shell-qt6.new.1977/layer-shell-qt6.changes    
    2026-02-16 13:10:11.356204950 +0100
@@ -1,0 +2,35 @@
+Thu Feb 12 19:43:12 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 6.6.0:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.6.0
+- Changes since 6.5.91:
+  * Update version for new release 6.6.0
+
+-------------------------------------------------------------------
+Wed Jan 28 16:14:31 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 6.5.91:
+  * New bugfix release
+  * For more details see https://kde.org/announcements/plasma/6/6.5.91
+- Changes since 6.5.90:
+  * Update version for new release 6.5.91
+  * Add Window::screenConfiguration() shim
+  * Allow specifying explicit desired screen
+
+-------------------------------------------------------------------
+Sat Jan 17 20:26:52 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 6.5.90:
+  * New feature release
+  * For more details see https://kde.org/announcements/plasma/6/6.5.90
+- Changes since 6.5.5:
+  * Update version for new release 6.5.90
+  * Provide serial for requesting an activation token
+  * Deprecate  Shell::useLayerShell()
+  * Window: Ensure we integrate windows that were already were shown in a 
different shell
+  * window: Improve how we tell the window to do layer-shell
+  * Drop obsolete code for Qt versions lower than 6.9
+  * Update version for new release 6.5.80
+
+-------------------------------------------------------------------

Old:
----
  layer-shell-qt-6.5.5.tar.xz
  layer-shell-qt-6.5.5.tar.xz.sig

New:
----
  layer-shell-qt-6.6.0.tar.xz
  layer-shell-qt-6.6.0.tar.xz.sig

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

Other differences:
------------------
++++++ layer-shell-qt6.spec ++++++
--- /var/tmp/diff_new_pack.dp2BBd/_old  2026-02-16 13:10:13.616298985 +0100
+++ /var/tmp/diff_new_pack.dp2BBd/_new  2026-02-16 13:10:13.628299484 +0100
@@ -27,14 +27,14 @@
 %define rname layer-shell-qt
 %bcond_without released
 Name:           layer-shell-qt6
-Version:        6.5.5
+Version:        6.6.0
 Release:        0
 Summary:        wlr-layer-shell integration for Qt
 License:        LGPL-3.0-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:  kf6-extra-cmake-modules >= %{kf6_version}

++++++ layer-shell-qt-6.5.5.tar.xz -> layer-shell-qt-6.6.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/CMakeLists.txt 
new/layer-shell-qt-6.6.0/CMakeLists.txt
--- old/layer-shell-qt-6.5.5/CMakeLists.txt     2026-01-13 13:59:38.000000000 
+0100
+++ new/layer-shell-qt-6.6.0/CMakeLists.txt     2026-02-12 11:05:18.000000000 
+0100
@@ -4,13 +4,13 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(layershellqt)
-set(PROJECT_VERSION "6.5.5")
+set(PROJECT_VERSION "6.6.0")
 set(PROJECT_VERSION_MAJOR 6)
 
 set(CMAKE_C_STANDARD 99)
 
-set(QT_MIN_VERSION "6.9.0")
-set(KF6_MIN_VERSION "6.18.0")
+set(QT_MIN_VERSION "6.10.0")
+set(KF6_MIN_VERSION "6.22.0")
 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
 
 set(CMAKE_CXX_STANDARD 20)
@@ -32,6 +32,7 @@
 include(ECMQtDeclareLoggingCategory)
 include(ECMQmlModule)
 include(KDEGitCommitHooks)
+include(ECMGenerateExportHeader)
 
 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS WaylandClient 
Qml)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/CMakeLists.txt 
new/layer-shell-qt-6.6.0/src/CMakeLists.txt
--- old/layer-shell-qt-6.5.5/src/CMakeLists.txt 2026-01-13 13:59:38.000000000 
+0100
+++ new/layer-shell-qt-6.6.0/src/CMakeLists.txt 2026-02-12 11:05:18.000000000 
+0100
@@ -64,10 +64,12 @@
 )
 
 
-generate_export_header(LayerShellQtInterface
+ecm_generate_export_header(LayerShellQtInterface
     BASE_NAME LayerShellQtInterface
     EXPORT_MACRO_NAME LAYERSHELLQT_EXPORT
     EXPORT_FILE_NAME LayerShellQt/layershellqt_export.h
+    VERSION ${LAYERSHELLQT_VERSION}
+    DEPRECATION_VERSIONS 6.6
 )
 
 install(TARGETS layer-shell
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/declarative/CMakeLists.txt 
new/layer-shell-qt-6.6.0/src/declarative/CMakeLists.txt
--- old/layer-shell-qt-6.5.5/src/declarative/CMakeLists.txt     2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/declarative/CMakeLists.txt     2026-02-12 
11:05:18.000000000 +0100
@@ -4,7 +4,7 @@
 ecm_add_qml_module(LayerShellQtQml
                   URI "org.kde.layershell"
                   VERSION 1.0
-                  SOURCES types.h types.cpp
+                  SOURCES types.h
                   GENERATE_PLUGIN_SOURCE)
 target_link_libraries(LayerShellQtQml PRIVATE Qt::Qml LayerShellQtInterface)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/declarative/types.cpp 
new/layer-shell-qt-6.6.0/src/declarative/types.cpp
--- old/layer-shell-qt-6.5.5/src/declarative/types.cpp  2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/declarative/types.cpp  1970-01-01 
01:00:00.000000000 +0100
@@ -1,49 +0,0 @@
-/*
- *   SPDX-FileCopyrightText: 2023 Aleix Pol Gonzalez 
<[email protected]>
- *
- *   SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
- */
-
-#include "types.h"
-
-#if QT_VERSION < QT_VERSION_CHECK(6, 8, 1)
-int QQmlMarginsValueType::left() const
-{
-    return m.left();
-}
-
-int QQmlMarginsValueType::top() const
-{
-    return m.top();
-}
-
-int QQmlMarginsValueType::right() const
-{
-    return m.right();
-}
-
-int QQmlMarginsValueType::bottom() const
-{
-    return m.bottom();
-}
-
-void QQmlMarginsValueType::setLeft(int left)
-{
-    m.setLeft(left);
-}
-
-void QQmlMarginsValueType::setTop(int top)
-{
-    m.setTop(top);
-}
-
-void QQmlMarginsValueType::setRight(int right)
-{
-    m.setRight(right);
-}
-
-void QQmlMarginsValueType::setBottom(int bottom)
-{
-    m.setBottom(bottom);
-}
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/declarative/types.h 
new/layer-shell-qt-6.6.0/src/declarative/types.h
--- old/layer-shell-qt-6.5.5/src/declarative/types.h    2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/declarative/types.h    2026-02-12 
11:05:18.000000000 +0100
@@ -17,39 +17,3 @@
     QML_UNCREATABLE("")
     QML_ATTACHED(LayerShellQt::Window)
 };
-
-// available upstream since 
https://invent.kde.org/qt/qt/qtdeclarative/-/commit/a398101f715bfc447aa889fc9c58b13bfe75ab47
-#if QT_VERSION < QT_VERSION_CHECK(6, 8, 1)
-struct Q_QML_EXPORT QQmlMarginsValueType {
-    QMargins m;
-    Q_PROPERTY(int left READ left WRITE setLeft FINAL)
-    Q_PROPERTY(int right READ right WRITE setRight FINAL)
-    Q_PROPERTY(int top READ top WRITE setTop FINAL)
-    Q_PROPERTY(int bottom READ bottom WRITE setBottom FINAL)
-    Q_GADGET
-    QML_ANONYMOUS
-    QML_FOREIGN(QMargins)
-    QML_EXTENDED(QQmlMarginsValueType)
-    QML_STRUCTURED_VALUE
-
-public:
-    QQmlMarginsValueType() = default;
-    Q_INVOKABLE QQmlMarginsValueType(const QMarginsF &margins)
-        : m(margins.toMargins())
-    {
-    }
-    int left() const;
-    int right() const;
-    int top() const;
-    int bottom() const;
-    void setLeft(int);
-    void setRight(int);
-    void setTop(int);
-    void setBottom(int);
-
-    operator QMargins() const
-    {
-        return m;
-    }
-};
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/interfaces/shell.cpp 
new/layer-shell-qt-6.6.0/src/interfaces/shell.cpp
--- old/layer-shell-qt-6.5.5/src/interfaces/shell.cpp   2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/interfaces/shell.cpp   2026-02-12 
11:05:18.000000000 +0100
@@ -5,6 +5,9 @@
  */
 
 #include "shell.h"
+
+#if LAYERSHELLQTINTERFACE_BUILD_DEPRECATED_SINCE(6, 6)
+
 #include <QByteArray>
 #include <layershellqt_logging.h>
 #include <qglobal.h>
@@ -18,3 +21,4 @@
         qCDebug(LAYERSHELLQT) << "Unable to set 
QT_WAYLAND_SHELL_INTEGRATION=layer-shell";
     }
 }
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/interfaces/shell.h 
new/layer-shell-qt-6.6.0/src/interfaces/shell.h
--- old/layer-shell-qt-6.5.5/src/interfaces/shell.h     2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/interfaces/shell.h     2026-02-12 
11:05:18.000000000 +0100
@@ -8,7 +8,9 @@
 #define LAYERSHELLQTSHELL_H
 
 #include "layershellqt_export.h"
-#include "window.h"
+
+#if LAYERSHELLQTINTERFACE_ENABLE_DEPRECATED_SINCE(6, 6)
+
 #include <QString>
 
 namespace LayerShellQt
@@ -19,9 +21,11 @@
 class LAYERSHELLQT_EXPORT Shell
 {
 public:
+    LAYERSHELLQTINTERFACE_DEPRECATED_VERSION(6, 6, "Calling useLayerShell is 
not needed since Qt 6.5")
     static void useLayerShell();
 };
 
 }
+#endif
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/interfaces/window.cpp 
new/layer-shell-qt-6.6.0/src/interfaces/window.cpp
--- old/layer-shell-qt-6.5.5/src/interfaces/window.cpp  2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/interfaces/window.cpp  2026-02-12 
11:05:18.000000000 +0100
@@ -9,7 +9,9 @@
 
 #include <layershellqt_logging.h>
 
+#include <QPlatformSurfaceEvent>
 #include <QPointer>
+#include <mutex>
 #include <optional>
 
 #include <QtWaylandClient/private/qwaylandwindow_p.h>
@@ -33,7 +35,8 @@
     Window::Layer layer = Window::LayerTop;
     QMargins margins;
     QSize desiredSize = QSize(0, 0);
-    Window::ScreenConfiguration screenConfiguration = 
Window::ScreenFromQWindow;
+    QPointer<QScreen> screen;
+    bool wantsToBeOnActiveScreen = false;
     bool closeOnDismissed = true;
     bool activateOnShow = true;
 };
@@ -151,14 +154,73 @@
     return d->layer;
 }
 
+#if LAYERSHELLQTINTERFACE_BUILD_DEPRECATED_SINCE(6, 6)
 Window::ScreenConfiguration Window::screenConfiguration() const
 {
-    return d->screenConfiguration;
+    if (wantsToBeOnActiveScreen()) {
+        return ScreenFromCompositor;
+    } else {
+        // If an explicit screen is set, it's quite inaccurate but it should 
be fine.
+        return ScreenFromQWindow;
+    }
 }
 
-void Window::setScreenConfiguration(Window::ScreenConfiguration 
screenConfiguration)
+void Window::setScreenConfiguration(ScreenConfiguration screenConfiguration)
 {
-    d->screenConfiguration = screenConfiguration;
+    static std::once_flag deprecationFlag;
+    std::call_once(deprecationFlag, []() {
+        qWarning() << "LayerShellQt.Window.screenConfiguration is deprecated 
use screen and wantsToBeOnActiveScreen instead";
+    });
+
+    if (screenConfiguration == ScreenFromCompositor) {
+        setWantsToBeOnActiveScreen(true);
+    } else {
+        setWantsToBeOnActiveScreen(false);
+        setScreen(nullptr);
+    }
+}
+#endif
+
+void Window::setWantsToBeOnActiveScreen(bool set)
+{
+    if (d->wantsToBeOnActiveScreen == set) {
+        return;
+    }
+
+    d->wantsToBeOnActiveScreen = set;
+
+    if (d->wantsToBeOnActiveScreen && d->screen) {
+        d->screen = nullptr;
+        Q_EMIT screenChanged();
+    }
+
+    Q_EMIT wantsToBeOnActiveScreenChanged();
+}
+
+bool Window::wantsToBeOnActiveScreen() const
+{
+    return d->wantsToBeOnActiveScreen;
+}
+
+void Window::setScreen(QScreen *screen)
+{
+    if (d->screen == screen) {
+        return;
+    }
+
+    d->screen = screen;
+
+    if (d->screen && d->wantsToBeOnActiveScreen) {
+        d->wantsToBeOnActiveScreen = false;
+        Q_EMIT wantsToBeOnActiveScreenChanged();
+    }
+
+    Q_EMIT screenChanged();
+}
+
+QScreen *Window::screen() const
+{
+    return d->screen;
 }
 
 bool Window::closeOnDismissed() const
@@ -186,12 +248,35 @@
     , d(new WindowPrivate(window))
 {
     s_map.insert(d->parentWindow, this);
+    window->installEventFilter(this);
+    if (window->isVisible()) {
+        qCWarning(LAYERSHELLQT) << d->parentWindow << "already has a shell 
integration. Call QWindow::close() first and show it again.";
+    }
+
+    if (window->handle()) {
+        initializeShell();
+    }
+}
 
-    window->create();
+bool Window::eventFilter(QObject *watched, QEvent *event)
+{
+    auto window = qobject_cast<QWindow *>(watched);
+    if (!window) {
+        return false;
+    }
+    if (event->type() == QEvent::PlatformSurface) {
+        if (auto pse = static_cast<QPlatformSurfaceEvent *>(event); 
pse->surfaceEventType() == QPlatformSurfaceEvent::SurfaceCreated) {
+            initializeShell();
+        }
+    }
+    return false;
+}
 
-    auto waylandWindow = dynamic_cast<QtWaylandClient::QWaylandWindow 
*>(window->handle());
+void Window::initializeShell()
+{
+    auto waylandWindow = dynamic_cast<QtWaylandClient::QWaylandWindow 
*>(d->parentWindow->handle());
     if (!waylandWindow) {
-        qCWarning(LAYERSHELLQT) << window << "is not a wayland window. Not 
creating zwlr_layer_surface";
+        qCWarning(LAYERSHELLQT) << d->parentWindow << "is not a wayland 
window. Not creating zwlr_layer_surface";
         return;
     }
 
@@ -205,7 +290,6 @@
             return;
         }
     }
-
     waylandWindow->setShellIntegration(shellIntegration);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/interfaces/window.h 
new/layer-shell-qt-6.6.0/src/interfaces/window.h
--- old/layer-shell-qt-6.5.5/src/interfaces/window.h    2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/interfaces/window.h    2026-02-12 
11:05:18.000000000 +0100
@@ -27,8 +27,12 @@
     Q_PROPERTY(qint32 exclusionZone READ exclusionZone WRITE setExclusiveZone 
NOTIFY exclusionZoneChanged)
     Q_PROPERTY(Layer layer READ layer WRITE setLayer NOTIFY layerChanged)
     Q_PROPERTY(KeyboardInteractivity keyboardInteractivity READ 
keyboardInteractivity WRITE setKeyboardInteractivity NOTIFY 
keyboardInteractivityChanged)
-    Q_PROPERTY(ScreenConfiguration screenConfiguration READ 
screenConfiguration WRITE setScreenConfiguration)
     Q_PROPERTY(bool activateOnShow READ activateOnShow WRITE setActivateOnShow)
+    Q_PROPERTY(bool wantsToBeOnActiveScreen READ wantsToBeOnActiveScreen WRITE 
setWantsToBeOnActiveScreen NOTIFY wantsToBeOnActiveScreenChanged)
+    Q_PROPERTY(QScreen *screen READ screen WRITE setScreen NOTIFY 
screenChanged)
+#if LAYERSHELLQTINTERFACE_ENABLE_DEPRECATED_SINCE(6, 6)
+    Q_PROPERTY(ScreenConfiguration screenConfiguration READ 
screenConfiguration WRITE setScreenConfiguration)
+#endif
 
 public:
     ~Window() override;
@@ -64,17 +68,6 @@
     };
     Q_ENUM(KeyboardInteractivity)
 
-    /**
-     * This enum type is used to specify which screen to place the surface on.
-     * ScreenFromQWindow (the default) reads QWindow::screen() while 
ScreenFromCompositor
-     * passes nil and lets the compositor decide.
-     */
-    enum ScreenConfiguration {
-        ScreenFromQWindow = 0,
-        ScreenFromCompositor = 1,
-    };
-    Q_ENUM(ScreenConfiguration)
-
     void setAnchors(Anchors anchor);
     Anchors anchors() const;
 
@@ -96,8 +89,48 @@
     void setLayer(Layer layer);
     Layer layer() const;
 
+#if LAYERSHELLQTINTERFACE_ENABLE_DEPRECATED_SINCE(6, 6)
+    /**
+     * This enum type is used to specify which screen to place the surface on.
+     * ScreenFromQWindow (the default) reads QWindow::screen() while 
ScreenFromCompositor
+     * passes nil and lets the compositor decide.
+     */
+    LAYERSHELLQTINTERFACE_DEPRECATED_VERSION(6, 6, "Use 
wantsToBeOnActiveScreen and screen instead")
+    enum ScreenConfiguration {
+        ScreenFromQWindow = 0,
+        ScreenFromCompositor = 1,
+    };
+    Q_ENUM(ScreenConfiguration)
+
+    LAYERSHELLQTINTERFACE_DEPRECATED_VERSION(6, 6, "Use 
wantsToBeOnActiveScreen and screen instead")
     void setScreenConfiguration(ScreenConfiguration screenConfiguration);
+    LAYERSHELLQTINTERFACE_DEPRECATED_VERSION(6, 6, "Use 
wantsToBeOnActiveScreen and screen instead")
     ScreenConfiguration screenConfiguration() const;
+#endif
+
+    /**
+     * Indicates whether the layer shell surface should be placed on the 
active screen based on @a set.
+     *
+     * The active screen depends on the compositor policies.
+     *
+     * If the screen() is @c null and the wantsToBeOnActiveScreen() is @c 
false, then the
+     * QWindow::screen() will be used to decide what screen the layer shell 
surface should be placed on.
+     *
+     * The screen() will be reset if @a set is @c true.
+     */
+    void setWantsToBeOnActiveScreen(bool set);
+    bool wantsToBeOnActiveScreen() const;
+
+    /**
+     * Indicates that the layer shell surface should be placed on the 
specified @a screen.
+     *
+     * If the screen() is @c null and the wantsToBeOnActiveScreen() is @c 
false, then the
+     * QWindow::screen() will be used to decide what screen the layer shell 
surface should be placed on.
+     *
+     * The wantsToBeOnActiveScreen() will be reset to @c false after calling 
this function.
+     */
+    void setScreen(QScreen *screen);
+    QScreen *screen() const;
 
     /**
      * Sets a string based identifier for this window.
@@ -138,6 +171,8 @@
 
     static Window *qmlAttachedProperties(QObject *object);
 
+    bool eventFilter(QObject *watched, QEvent *event) override;
+
 Q_SIGNALS:
     void anchorsChanged();
     void exclusionZoneChanged();
@@ -146,8 +181,12 @@
     void desiredSizeChanged();
     void keyboardInteractivityChanged();
     void layerChanged();
+    void wantsToBeOnActiveScreenChanged();
+    void screenChanged();
 
 private:
+    void initializeShell();
+
     Window(QWindow *window);
     QScopedPointer<WindowPrivate> d;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/qwaylandlayersurface.cpp 
new/layer-shell-qt-6.6.0/src/qwaylandlayersurface.cpp
--- old/layer-shell-qt-6.5.5/src/qwaylandlayersurface.cpp       2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/qwaylandlayersurface.cpp       2026-02-12 
11:05:18.000000000 +0100
@@ -10,6 +10,7 @@
 #include "qwaylandlayersurface_p.h"
 #include "qwaylandxdgactivationv1_p.h"
 
+#include <QtWaylandClient/private/qwaylandinputdevice_p.h>
 #include <QtWaylandClient/private/qwaylandscreen_p.h>
 #include <QtWaylandClient/private/qwaylandsurface_p.h>
 #include <QtWaylandClient/private/qwaylandwindow_p.h>
@@ -26,8 +27,13 @@
     , m_window(window)
 {
     wl_output *output = nullptr;
-    if (m_interface->screenConfiguration() == Window::ScreenFromQWindow) {
-        auto waylandScreen = dynamic_cast<QtWaylandClient::QWaylandScreen 
*>(window->window()->screen()->handle());
+    if (!m_interface->wantsToBeOnActiveScreen()) {
+        QScreen *desiredScreen = m_interface->screen();
+        if (!desiredScreen) {
+            desiredScreen = window->window()->screen();
+        }
+
+        auto waylandScreen = dynamic_cast<QtWaylandClient::QWaylandScreen 
*>(desiredScreen->handle());
         // Qt will always assign a screen to a window, but if the compositor 
has no screens available a dummy QScreen object is created
         // this will not cast to a QWaylandScreen
         if (!waylandScreen) {
@@ -124,13 +130,7 @@
 
 void QWaylandLayerSurface::applyConfigure()
 {
-#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
-    m_configuring = true;
-#endif
     window()->resizeFromApplyConfigure(m_pendingSize);
-#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
-    m_configuring = false;
-#endif
 }
 
 void QWaylandLayerSurface::setDesiredSize(const QSize &size)
@@ -181,25 +181,12 @@
         set_layer(layer);
 }
 
-#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
-void QWaylandLayerSurface::setWindowGeometry(const QRect &geometry)
-{
-    if (m_configuring) {
-        return;
-    }
-
-    if (m_interface->desiredSize().isNull()) {
-        setDesiredSize(geometry.size());
-    }
-}
-#else
 void QWaylandLayerSurface::setWindowSize(const QSize &size)
 {
     if (m_interface->desiredSize().isNull()) {
         setDesiredSize(size);
     }
 }
-#endif
 
 bool QWaylandLayerSurface::requestActivate()
 {
@@ -219,7 +206,7 @@
         const auto focusWindow = QGuiApplication::focusWindow();
         const auto wlWindow = focusWindow ? 
static_cast<QtWaylandClient::QWaylandWindow *>(focusWindow->handle()) : 
window();
         if (const auto seat = wlWindow->display()->lastInputDevice()) {
-            const auto tokenProvider = 
activation->requestXdgActivationToken(wlWindow->display(), 
wlWindow->wlSurface(), 0, QString());
+            const auto tokenProvider = 
activation->requestXdgActivationToken(wlWindow->display(), 
wlWindow->wlSurface(), seat->serial(), QString());
             connect(tokenProvider, &QWaylandXdgActivationTokenV1::done, this, 
[this](const QString &token) {
                 m_shell->activation()->activate(token, window()->wlSurface());
             });
@@ -268,13 +255,6 @@
 
 void QWaylandLayerSurface::sendExpose()
 {
-#if QT_VERSION < QT_VERSION_CHECK(6, 7, 0)
-    window()->handleExpose(QRect(QPoint(), m_pendingSize));
-#elif QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
-    window()->sendRecursiveExposeEvent();
-#else
     window()->updateExposure();
-#endif
 }
-
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/src/qwaylandlayersurface_p.h 
new/layer-shell-qt-6.6.0/src/qwaylandlayersurface_p.h
--- old/layer-shell-qt-6.5.5/src/qwaylandlayersurface_p.h       2026-01-13 
13:59:38.000000000 +0100
+++ new/layer-shell-qt-6.6.0/src/qwaylandlayersurface_p.h       2026-02-12 
11:05:18.000000000 +0100
@@ -43,11 +43,7 @@
     void setLayer(uint32_t layer);
 
     void applyConfigure() override;
-#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
-    void setWindowGeometry(const QRect &geometry) override;
-#else
     void setWindowSize(const QSize &size) override;
-#endif
 
     bool requestActivate() override;
     bool requestActivateOnShow() override;
@@ -66,9 +62,6 @@
     QString m_activationToken;
 
     bool m_configured = false;
-#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
-    bool m_configuring = false;
-#endif
 };
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/layer-shell-qt-6.5.5/tests/become-layershell.qml 
new/layer-shell-qt-6.6.0/tests/become-layershell.qml
--- old/layer-shell-qt-6.5.5/tests/become-layershell.qml        1970-01-01 
01:00:00.000000000 +0100
+++ new/layer-shell-qt-6.6.0/tests/become-layershell.qml        2026-02-12 
11:05:18.000000000 +0100
@@ -0,0 +1,42 @@
+/*
+ *   SPDX-FileCopyrightText: 2025 Aleix Pol i Gonzalez <[email protected]>
+ *
+ *   SPDX-License-Identifier: LGPL-3.0-or-later
+ */
+
+import QtQuick
+import QtQuick.Controls
+import org.kde.layershell 1.0 as LayerShell
+
+Item
+{
+    Button {
+        text: "Convert"
+        anchors.centerIn: parent
+
+        onClicked: {
+            win.close()
+            win.LayerShell.Window.anchors = LayerShell.Window.AnchorLeft;
+            win.LayerShell.Window.layer = LayerShell.Window.LayerTop;
+            win.LayerShell.Window.exclusionZone = -1;
+            win.show()
+        }
+    }
+
+    Window {
+        id: win
+
+        width: 100
+        height: 100
+        Rectangle {
+            anchors.fill: parent
+            color: "red"
+
+            Text {
+                anchors.centerIn: parent
+                text: "top"
+            }
+        }
+        visible: true
+    }
+}

Reply via email to