Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package hyprland-protocols for 
openSUSE:Factory checked in at 2026-10-30 18:13:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyprland-protocols (Old)
 and      /work/SRC/openSUSE:Factory/.hyprland-protocols.new.1255 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hyprland-protocols"

Fri Oct 30 18:13:00 2026 rev:7 rq:1393770 version:0.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/hyprland-protocols/hyprland-protocols.changes    
2026-08-09 21:38:17.048261859 +0200
+++ 
/work/SRC/openSUSE:Factory/.hyprland-protocols.new.1255/hyprland-protocols.changes
  2026-10-30 18:21:20.406972792 +0100
@@ -1,0 +2,11 @@
+Wed Oct 28 16:36:45 UTC 2026 - Florian "sp1rit" <[email protected]>
+
+- Update to version 0.8.0:
+  * protocols: init workspace image source
+  * build: LANGUAGES NONE -> LANGUAGES C
+  * typo-fix: latin "C" instead of cyrillic "С"
+- Changes from version 0.7.1:
+  * input-capture-v1: add destroy destructor to the session interface
+- Moved from meson to cmake, as meson got dropped
+
+-------------------------------------------------------------------

Old:
----
  hyprland-protocols-0.7.0.tar.gz

New:
----
  hyprland-protocols-0.8.0.tar.gz

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

Other differences:
------------------
++++++ hyprland-protocols.spec ++++++
--- /var/tmp/diff_new_pack.Hj9UsJ/_old  2026-10-30 18:21:21.806031360 +0100
+++ /var/tmp/diff_new_pack.Hj9UsJ/_new  2026-10-30 18:21:21.811031569 +0100
@@ -20,11 +20,11 @@
 Summary:        Wayland extension protocol for Hyprland
 Group:          Development/Libraries/Other
 License:        BSD-3-Clause
-Version:        0.7.0
+Version:        0.8.0
 Release:        0
 URL:            https://github.com/hyprwm/hyprland-protocols
 Source0:        
https://github.com/hyprwm/hyprland-protocols/archive/refs/tags/v%{version}.tar.gz#/hyprland-protocols-%{version}.tar.gz
-BuildRequires:  meson
+BuildRequires:  cmake
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(uuid)
 BuildRequires:  pkgconfig(wayland-client)
@@ -47,11 +47,11 @@
 %autosetup -p1
 
 %build
-%meson
-%meson_build
+%cmake
+%cmake_build
 
 %install
-%meson_install
+%cmake_install
 
 %files devel
 %{_datadir}/pkgconfig/hyprland-protocols.pc

++++++ hyprland-protocols-0.7.0.tar.gz -> hyprland-protocols-0.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.7.0/CMakeLists.txt 
new/hyprland-protocols-0.8.0/CMakeLists.txt
--- old/hyprland-protocols-0.7.0/CMakeLists.txt 1970-01-01 01:00:00.000000000 
+0100
+++ new/hyprland-protocols-0.8.0/CMakeLists.txt 2026-10-16 13:14:00.000000000 
+0200
@@ -0,0 +1,42 @@
+cmake_minimum_required(VERSION 3.20)
+
+file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" HYPRLAND_PROTOCOLS_VERSION
+     LIMIT_COUNT 1)
+string(STRIP "${HYPRLAND_PROTOCOLS_VERSION}" HYPRLAND_PROTOCOLS_VERSION)
+
+project(
+  hyprland-protocols
+  VERSION ${HYPRLAND_PROTOCOLS_VERSION}
+  LANGUAGES C)
+
+include(GNUInstallDirs)
+
+set(PROTOCOL_FILES
+    protocols/hyprland-toplevel-export-v1.xml
+    protocols/hyprland-global-shortcuts-v1.xml
+    protocols/hyprland-focus-grab-v1.xml
+    protocols/hyprland-ctm-control-v1.xml
+    protocols/hyprland-surface-v1.xml
+    protocols/hyprland-lock-notify-v1.xml
+    protocols/hyprland-toplevel-mapping-v1.xml
+    protocols/hyprland-input-capture-v1.xml
+    protocols/hyprland-workspace-image-capture-source-v1.xml)
+
+foreach(PROTOCOL_FILE ${PROTOCOL_FILES})
+  get_filename_component(PROTOCOL_DIR ${PROTOCOL_FILE} DIRECTORY)
+  install(
+    FILES ${PROTOCOL_FILE}
+    DESTINATION "${CMAKE_INSTALL_DATADIR}/hyprland-protocols/${PROTOCOL_DIR}")
+endforeach()
+
+# Configure pkg-config file
+set(prefix "${CMAKE_INSTALL_PREFIX}")
+set(datarootdir "\${prefix}/${CMAKE_INSTALL_DATADIR}")
+set(abs_top_srcdir "${CMAKE_CURRENT_SOURCE_DIR}")
+set(PACKAGE "hyprland-protocols")
+
+configure_file(hyprland-protocols.pc.in hyprland-protocols.pc @ONLY)
+
+# Install pkg-config file
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/hyprland-protocols.pc"
+        DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.7.0/README.md 
new/hyprland-protocols-0.8.0/README.md
--- old/hyprland-protocols-0.7.0/README.md      2025-10-04 22:37:23.000000000 
+0200
+++ new/hyprland-protocols-0.8.0/README.md      2026-10-16 13:14:00.000000000 
+0200
@@ -1,4 +1,5 @@
 # hyprland-protocols
+
 Wayland protocol extensions for Hyprland.
 
 This repository exists in an effort to bridge the gap between Hyprland and 
KDE/Gnome's functionality,
@@ -10,6 +11,7 @@
 Some of the protocols here also do not belong in w-p, as they are specific to 
Hyprland.
 
 ## Finished protocols
+
 - `hyprland_toplevel_export` -> for exporting toplevel buffers (aka. windows) 
for screensharing
 - `hyprland_global_keybindings` -> for managing global keybinds via D-Bus.
 - `hyprland_focus_grab` -> for grabbing input focus, primarily for complex 
context menus.
@@ -18,16 +20,18 @@
 - `hyprland_lock_notify` -> for notifying a client about the screen being 
locked and unlocked.
 - `hyprland_toplevel_mapping` -> for mapping toplevels to hyprland IDs.
 - `hyprland_input_capture` -> for EIS input capture.
+- `hyprland_workspace_image_capture_source` -> for screensharing a workspace.
 
 ## Building
+
 ```sh
-git clone https://github.com/hyprwm/hyprland-protocols                         
                          
-cd hyprland-protocols
-meson setup build
-sudo meson install -C build
+git clone https://github.com/hyprwm/hyprland-protocols && cd hyprland-protocols
+cmake -S . -B ./build
+cmake --build ./build
 ```
 
 ## Contributing
+
 Adding new protocols is *discouraged*, as most things you think of can already 
be done one way or another.
 However, if the protocol has a good reason to be, and you have an impl ready, 
feel free to make a PR.
 We're always up for a discussion to improve things!
@@ -35,4 +39,3 @@
 Fixing typos / adding explanations to existing protocols - welcome.
 
 Adding functionality to protocols / new revisions - welcome, if accompanied 
with a reason and an impl.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.7.0/VERSION 
new/hyprland-protocols-0.8.0/VERSION
--- old/hyprland-protocols-0.7.0/VERSION        2025-10-04 22:37:23.000000000 
+0200
+++ new/hyprland-protocols-0.8.0/VERSION        2026-10-16 13:14:00.000000000 
+0200
@@ -1 +1 @@
-0.7.0
+0.8.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.7.0/flake.lock 
new/hyprland-protocols-0.8.0/flake.lock
--- old/hyprland-protocols-0.7.0/flake.lock     2025-10-04 22:37:23.000000000 
+0200
+++ new/hyprland-protocols-0.8.0/flake.lock     2026-10-16 13:14:00.000000000 
+0200
@@ -2,11 +2,11 @@
   "nodes": {
     "nixpkgs": {
       "locked": {
-        "lastModified": 1721138476,
-        "narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=",
+        "lastModified": 1772198003,
+        "narHash": "sha256-I45esRSssFtJ8p/gLHUZ1OUaaTaVLluNkABkk6arQwE=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "ad0b5eed1b6031efaed382844806550c3dcb4206",
+        "rev": "dd9b079222d43e1943b6ebd802f04fd959dc8e61",
         "type": "github"
       },
       "original": {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.7.0/flake.nix 
new/hyprland-protocols-0.8.0/flake.nix
--- old/hyprland-protocols-0.7.0/flake.nix      2025-10-04 22:37:23.000000000 
+0200
+++ new/hyprland-protocols-0.8.0/flake.nix      2026-10-16 13:14:00.000000000 
+0200
@@ -7,40 +7,32 @@
     systems.url = "github:nix-systems/default-linux";
   };
 
-  outputs = {
-    self,
-    nixpkgs,
-    systems,
-    ...
-  }: let
-    inherit (nixpkgs) lib;
-    eachSystem = lib.genAttrs (import systems);
-    pkgsFor = eachSystem (system:
-      import nixpkgs {
-        localSystem = system;
-        overlays = [self.overlays.hyprland-protocols];
-      });
-    mkDate = longDate: (lib.concatStringsSep "-" [
-      (builtins.substring 0 4 longDate)
-      (builtins.substring 4 2 longDate)
-      (builtins.substring 6 2 longDate)
-    ]);
-    version = lib.removeSuffix "\n" (builtins.readFile ./VERSION);
-  in {
-    overlays = {
-      default = self.overlays.hyprland-protocols;
-      hyprland-protocols = final: prev: {
-        hyprland-protocols = final.callPackage ./nix/default.nix {
-          version = version + "+date=" + (mkDate (self.lastModifiedDate or 
"19700101")) + "_" + (self.shortRev or "dirty");
-        };
-      };
-    };
+  outputs =
+    {
+      self,
+      nixpkgs,
+      systems,
+      ...
+    }:
+    let
+      inherit (nixpkgs) lib;
+      eachSystem = lib.genAttrs (import systems);
+      pkgsFor = eachSystem (
+        system:
+        import nixpkgs {
+          localSystem = system;
+          overlays = [ self.overlays.hyprland-protocols ];
+        }
+      );
+    in
+    {
+      overlays = import ./nix/overlays.nix { inherit lib self; };
 
-    packages = eachSystem (system: {
-      inherit (pkgsFor.${system}) hyprland-protocols;
-      default = self.packages.${system}.hyprland-protocols;
-    });
+      packages = eachSystem (system: {
+        inherit (pkgsFor.${system}) hyprland-protocols;
+        default = self.packages.${system}.hyprland-protocols;
+      });
 
-    formatter = eachSystem (system: 
nixpkgs.legacyPackages.${system}.alejandra);
-  };
+      formatter = eachSystem (system: 
nixpkgs.legacyPackages.${system}.nixfmt-tree);
+    };
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.7.0/meson.build 
new/hyprland-protocols-0.8.0/meson.build
--- old/hyprland-protocols-0.7.0/meson.build    2025-10-04 22:37:23.000000000 
+0200
+++ new/hyprland-protocols-0.8.0/meson.build    1970-01-01 01:00:00.000000000 
+0100
@@ -1,66 +0,0 @@
-project('hyprland-protocols',
-       version: run_command('cat', 'VERSION', check: true).stdout().strip(),
-       meson_version: '>= 0.60.3',
-)
-
-hyprland_protocols_version = meson.project_version()
-
-fs = import('fs')
-
-protocols = {
-  'hyprland-toplevel-export': ['v1'],
-  'hyprland-toplevel-mapping': ['v1'],
-  'hyprland-global-shortcuts': ['v1'],
-  'hyprland-focus-grab': ['v1'],
-  'hyprland-ctm-control': ['v1'],
-  'hyprland-surface': ['v1'],
-  'hyprland-lock-notify': ['v1'],
-  'hyprland-input-capture': ['v1'],
-}
-
-protocol_files = []
-
-foreach name : protocols.keys()
-       foreach version : protocols.get(name)
-               protocol_files += [
-                       'protocols/@0@-@[email protected]'.format(name, version)
-               ]
-       endforeach
-endforeach
-
-foreach protocol_file : protocol_files
-       protocol_install_dir = fs.parent(join_paths(
-               get_option('datadir'),
-               'hyprland-protocols',
-               protocol_file,
-       ))
-       install_data(
-               protocol_file,
-               install_dir: protocol_install_dir,
-       )
-endforeach
-
-hyprland_protocols_srcdir = meson.current_source_dir()
-
-pkgconfig_configuration = configuration_data()
-pkgconfig_configuration.set('prefix', get_option('prefix'))
-pkgconfig_configuration.set('datarootdir', 
'${prefix}/@0@'.format(get_option('datadir')))
-pkgconfig_configuration.set('abs_top_srcdir', hyprland_protocols_srcdir)
-pkgconfig_configuration.set('PACKAGE', 'hyprland-protocols')
-pkgconfig_configuration.set('HYPRLAND_PROTOCOLS_VERSION', 
hyprland_protocols_version)
-
-pkg_install_dir = join_paths(get_option('datadir'), 'pkgconfig')
-configure_file(
-       input: 'hyprland-protocols.pc.in',
-       output: 'hyprland-protocols.pc',
-       configuration: pkgconfig_configuration,
-       install_dir: pkg_install_dir,
-)
-
-hyprland_protocols = declare_dependency(
-       variables: {
-               'pkgdatadir': hyprland_protocols_srcdir,
-       },
-)
-
-meson.override_dependency('hyprland-protocols', hyprland_protocols)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.7.0/nix/default.nix 
new/hyprland-protocols-0.8.0/nix/default.nix
--- old/hyprland-protocols-0.7.0/nix/default.nix        2025-10-04 
22:37:23.000000000 +0200
+++ new/hyprland-protocols-0.8.0/nix/default.nix        2026-10-16 
13:14:00.000000000 +0200
@@ -1,8 +1,7 @@
 {
   lib,
   stdenv,
-  meson,
-  ninja,
+  cmake,
   version,
 }:
 stdenv.mkDerivation {
@@ -11,7 +10,7 @@
 
   src = ../.;
 
-  nativeBuildInputs = [meson ninja];
+  nativeBuildInputs = [ cmake ];
 
   meta = {
     homepage = "https://github.com/hyprwm/hyprland-protocols";;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.7.0/nix/overlays.nix 
new/hyprland-protocols-0.8.0/nix/overlays.nix
--- old/hyprland-protocols-0.7.0/nix/overlays.nix       1970-01-01 
01:00:00.000000000 +0100
+++ new/hyprland-protocols-0.8.0/nix/overlays.nix       2026-10-16 
13:14:00.000000000 +0200
@@ -0,0 +1,26 @@
+{ lib, self, ... }:
+let
+
+  mkDate =
+    longDate:
+    (lib.concatStringsSep "-" [
+      (builtins.substring 0 4 longDate)
+      (builtins.substring 4 2 longDate)
+      (builtins.substring 6 2 longDate)
+    ]);
+  version = lib.removeSuffix "\n" (builtins.readFile ../VERSION);
+in
+{
+  default = self.overlays.hyprland-protocols;
+
+  hyprland-protocols = final: prev: {
+    hyprland-protocols = final.callPackage ./default.nix {
+      version =
+        version
+        + "+date="
+        + (mkDate (self.lastModifiedDate or "19700101"))
+        + "_"
+        + (self.shortRev or "dirty");
+    };
+  };
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hyprland-protocols-0.7.0/protocols/hyprland-input-capture-v1.xml 
new/hyprland-protocols-0.8.0/protocols/hyprland-input-capture-v1.xml
--- old/hyprland-protocols-0.7.0/protocols/hyprland-input-capture-v1.xml        
2025-10-04 22:37:23.000000000 +0200
+++ new/hyprland-protocols-0.8.0/protocols/hyprland-input-capture-v1.xml        
2026-10-16 13:14:00.000000000 +0200
@@ -35,7 +35,7 @@
        This protocol is a bridge of the XDG input capture to the compositor.
   </description>
 
-  <interface name="hyprland_input_capture_manager_v1" version="1">
+  <interface name="hyprland_input_capture_manager_v1" version="2">
     <description summary="manage input capture sessions">
       This interface allows to create an input capture session.
     </description>
@@ -50,7 +50,7 @@
     </request>
   </interface>
 
- <interface name="hyprland_input_capture_v1" version="1">
+ <interface name="hyprland_input_capture_v1" version="2">
     <description summary="close reproduction of the xdg input capture portal">
          Interface that is used to create barrier, and trigger capture and 
release of the pointer.
          The inputs are sent through an EIS socket, when the cursor hit a 
barrier.
@@ -143,6 +143,16 @@
         summary="same activation id of the latest activated event" />
     </event>
 
+       <request name="destroy" type="destructor" since="2">
+         <description summary="destroy the session">
+           Destroy the input capture session.
+
+           Any barriers registered by this session are removed, input 
capturing is
+           stopped, and the eis socket associated with this session is closed 
by the
+           compositor. The client must not use the object after this request.
+         </description>
+       </request>
+
     <enum name="error">
       <entry name="invalid_barrier_id" value="0"
         summary="The barrier id already exist"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hyprland-protocols-0.7.0/protocols/hyprland-workspace-image-capture-source-v1.xml
 
new/hyprland-protocols-0.8.0/protocols/hyprland-workspace-image-capture-source-v1.xml
--- 
old/hyprland-protocols-0.7.0/protocols/hyprland-workspace-image-capture-source-v1.xml
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/hyprland-protocols-0.8.0/protocols/hyprland-workspace-image-capture-source-v1.xml
       2026-10-16 13:14:00.000000000 +0200
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="hyprland_workspace_image_capture_source_v1">
+  <copyright>
+    Copyright © 2026 Vaxry
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    1. Redistributions of source code must retain the above copyright notice, 
this
+       list of conditions and the following disclaimer.
+
+    2. Redistributions in binary form must reproduce the above copyright 
notice,
+       this list of conditions and the following disclaimer in the 
documentation
+       and/or other materials provided with the distribution.
+
+    3. Neither the name of the copyright holder nor the names of its
+       contributors may be used to endorse or promote products derived from
+       this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
LIABLE
+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  </copyright>
+
+  <description summary="image capture sources for workspaces">
+      This protocol is a Hyprland extension for capturing workspace contents.
+  </description>
+
+  <interface name="hyprland_workspace_image_capture_source_manager_v1" 
version="1">
+    <description summary="image capture source manager for workspaces">
+        This manager can create ICC capture sources from ext-workspace handles.
+    </description>
+
+    <enum name="capture_mode">
+      <description summary="content included in the source image">
+          This enum describes the allowed capture modes.
+      </description>
+
+      <entry name="windows_only" value="0">
+        <description summary="workspace windows only">
+          Include only the selected workspace's windows and their associated
+          surfaces and decorations. The background will be transparent.
+        </description>
+      </entry>
+
+      <entry name="everything" value="1">
+        <description summary="workspace windows and output-global desktop 
elements">
+          Include the selected workspace's windows together with wallpaper,
+          panels, pinned windows, and other output-global surfaces, including
+          layer-shell surfaces, associated with its output.
+        </description>
+      </entry>
+    </enum>
+
+    <enum name="error">
+      <entry name="invalid_mode" value="0" summary="unknown capture mode"/>
+    </enum>
+
+    <request name="create_source">
+      <description summary="create an image capture source for a workspace">
+        Create an ICC capture source from a given workspace handle.
+
+        This source does not own the workspace handle. If the workspace is
+        removed, further attempts to share this source's contents will produce
+        a transparent, empty image.
+      </description>
+      <arg name="source" type="new_id" interface="ext_image_capture_source_v1"
+        summary="new workspace image capture source"/>
+      <arg name="workspace" type="object" interface="ext_workspace_handle_v1"
+        summary="workspace to capture"/>
+      <arg name="mode" type="uint" enum="capture_mode"
+        summary="content to include in the source image"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy the manager">
+        Destroy this manager. Sources and capture sessions created through
+        this manager remain valid after its destruction.
+      </description>
+    </request>
+  </interface>
+</protocol>

Reply via email to