File feature-virt-desk-per-scr.patch of Package plasma-wayland-protocols

From d38734030afdc21c27d824c69f7c4c950a8518bb Mon Sep 17 00:00:00 2001
From: Hynek Schlindenbuch <schlindenbuch.h@seznam.cz>
Date: Sat, 13 Dec 2025 08:59:59 +0100
Subject: [PATCH 1/3] add per-output active virtual desktop

---
 .../org-kde-plasma-virtual-desktop.xml        | 62 ++++++++++++++++++-
 1 file changed, 60 insertions(+), 2 deletions(-)

diff --git a/src/protocols/org-kde-plasma-virtual-desktop.xml b/src/protocols/org-kde-plasma-virtual-desktop.xml
index 5d9f825..b3e640a 100644
--- a/src/protocols/org-kde-plasma-virtual-desktop.xml
+++ b/src/protocols/org-kde-plasma-virtual-desktop.xml
@@ -6,7 +6,7 @@
     SPDX-License-Identifier: LGPL-2.1-or-later
   ]]></copyright>
 
-<interface name="org_kde_plasma_virtual_desktop_management" version="3">
+<interface name="org_kde_plasma_virtual_desktop_management" version="4">
     <request name="get_virtual_desktop">
         <description summary="get the org_kde_plasma_virtual_desktop interface for a desktop">
             Given the id of a particular virtual desktop, get the corresponding org_kde_plasma_virtual_desktop which represents only the desktop with that id.
@@ -63,10 +63,68 @@
     <event name="rows" since="2">
         <arg name="rows" type="uint" summary="Number of rows the virtual desktops are laid out into."/>
     </event>
+
+    <event name="output_added" since="4">
+        <description summary="A new output has been added"></description>
+        <arg name="output" type="new_id" interface="org_kde_plasma_output_virtual_desktop" summary="added output" />
+    </event>
+</interface>
+
+<interface name="org_kde_plasma_output_virtual_desktop" version="4">
+    <description summary="maps output to active virtual desktop">
+        This interface maps an output to its active virtual desktop.
+        The server may allow each output to have a different virtual desktop,
+        or it may enforce all outputs to have the same desktop.
+    </description>
+
+    <request name="request_activate_desktop">
+        <description summary="Requests a desktop to be activated on the output">
+            Request the server to activate a given desktop on this output.
+            This may affect other outputs as well.
+        </description>
+        <arg name="desktop_id" type="string" summary="Id of desktop to activate"/>
+    </request>
+
+    <event name="uuid">
+        <description summary="A unique id for this outputdevice">
+            The uuid can be used to identify the output. It's controlled by
+            the server entirely. The server should make sure the uuid is
+            persistent across restarts. An empty uuid is considered invalid.
+        </description>
+        <arg name="uuid" type="string" summary="output devices ID"/>
+    </event>
+
+    <event name="name">
+        <description summary="Output's name">
+            Name of the output, it's useful to cross-reference to an zxdg_output_v1 and ultimately QScreen
+        </description>
+        <arg name="name" type="string"/>
+    </event>
+
+    <event name="active_desktop_id">
+        <description summary="Output's active desktop">
+            The id of the active virtual desktop on this output.
+        </description>
+        <arg name="desktop_id" type="string" summary="Unique id of the active desktop"/>
+    </event>
+
+    <event name="done">
+        <description summary="sent all information about output">
+            This event is sent after all other properties have been
+            sent on binding to the output object as well as after any
+            other output property change have been applied later on.
+            This allows to see changes to the output properties as atomic,
+            even if multiple events successively announce them.
+        </description>
+    </event>
+
+    <event name="removed">
+        <description summary="This output has been removed"></description>
+    </event>
 </interface>
 
 
-<interface name="org_kde_plasma_virtual_desktop" version="3">
+<interface name="org_kde_plasma_virtual_desktop" version="4">
     <request name="request_activate">
         <description summary="Requests this desktop to be activated">
             Request the server to set the status of this desktop to active: The server is free to consent or deny the request. This will be the new "current" virtual desktop of the system.
-- 
GitLab


From 5fd0f3db968cebdaad97513dfa3a0d01fa68a57f Mon Sep 17 00:00:00 2001
From: Hynek Schlindenbuch <schlindenbuch.h@seznam.cz>
Date: Thu, 1 Jan 2026 13:50:07 +0100
Subject: [PATCH 2/3] clarify org_kde_plasma_virtual_desktop_management::done

---
 src/protocols/org-kde-plasma-virtual-desktop.xml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/protocols/org-kde-plasma-virtual-desktop.xml b/src/protocols/org-kde-plasma-virtual-desktop.xml
index b3e640a..3d79aab 100644
--- a/src/protocols/org-kde-plasma-virtual-desktop.xml
+++ b/src/protocols/org-kde-plasma-virtual-desktop.xml
@@ -51,12 +51,12 @@
         <description summary="sent all information about desktops">
             This event is sent after all other properties have been sent after
             binding to the desktop manager global and after all changes to
-            org_kde_plasma_virtual_desktop_management and org_kde_plasma_virtual_desktop
-            properties have been sent.
+            org_kde_plasma_virtual_desktop_management, org_kde_plasma_output_virtual_desktop
+            and org_kde_plasma_virtual_desktop properties have been sent.
 
-            This allows changes to org_kde_plasma_virtual_desktop_management and
-            org_kde_plasma_virtual_desktop properties to be seen as atomic, even
-            if they happen via multiple events.
+            This allows changes to org_kde_plasma_virtual_desktop_management,
+            org_kde_plasma_output_virtual_desktop and org_kde_plasma_virtual_desktop properties,
+            to be seen as atomic, even if they happen via multiple events.
         </description>
     </event>
 
-- 
GitLab


From dcab490553a552b3a5240e8b7a77026865f54a0f Mon Sep 17 00:00:00 2001
From: Hynek Schlindenbuch <schlindenbuch.h@seznam.cz>
Date: Fri, 9 Jan 2026 12:47:52 +0100
Subject: [PATCH 3/3] avoid unnecessary version increase

---
 src/protocols/org-kde-plasma-virtual-desktop.xml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/protocols/org-kde-plasma-virtual-desktop.xml b/src/protocols/org-kde-plasma-virtual-desktop.xml
index 3d79aab..3d6afb3 100644
--- a/src/protocols/org-kde-plasma-virtual-desktop.xml
+++ b/src/protocols/org-kde-plasma-virtual-desktop.xml
@@ -123,8 +123,7 @@
     </event>
 </interface>
 
-
-<interface name="org_kde_plasma_virtual_desktop" version="4">
+<interface name="org_kde_plasma_virtual_desktop" version="3">
     <request name="request_activate">
         <description summary="Requests this desktop to be activated">
             Request the server to set the status of this desktop to active: The server is free to consent or deny the request. This will be the new "current" virtual desktop of the system.
-- 
GitLab

openSUSE Build Service is sponsored by