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-08-09 21:36:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hyprland-protocols (Old) and /work/SRC/openSUSE:Factory/.hyprland-protocols.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hyprland-protocols" Sun Aug 9 21:36:31 2026 rev:6 rq:1370177 version:0.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/hyprland-protocols/hyprland-protocols.changes 2025-06-11 16:22:45.627045421 +0200 +++ /work/SRC/openSUSE:Factory/.hyprland-protocols.new.16738/hyprland-protocols.changes 2026-08-09 21:38:17.048261859 +0200 @@ -1,0 +2,6 @@ +Thu Jul 30 07:31:09 UTC 2026 - Florian "spirit" <[email protected]> + +- Update to version 0.7.0: + * New release with a new EIS protocol + +------------------------------------------------------------------- Old: ---- hyprland-protocols-0.6.4.tar.gz New: ---- hyprland-protocols-0.7.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hyprland-protocols.spec ++++++ --- /var/tmp/diff_new_pack.VK93ZA/_old 2026-08-09 21:38:17.448275566 +0200 +++ /var/tmp/diff_new_pack.VK93ZA/_new 2026-08-09 21:38:17.452275702 +0200 @@ -1,7 +1,7 @@ # # spec file for package hyprland-protocols # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ Summary: Wayland extension protocol for Hyprland Group: Development/Libraries/Other License: BSD-3-Clause -Version: 0.6.4 +Version: 0.7.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 ++++++ hyprland-protocols-0.6.4.tar.gz -> hyprland-protocols-0.7.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyprland-protocols-0.6.4/README.md new/hyprland-protocols-0.7.0/README.md --- old/hyprland-protocols-0.6.4/README.md 2025-04-03 23:14:34.000000000 +0200 +++ new/hyprland-protocols-0.7.0/README.md 2025-10-04 22:37:23.000000000 +0200 @@ -9,7 +9,7 @@ Some of the protocols here also do not belong in w-p, as they are specific to Hyprland. -# Finished protocols +## 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. @@ -17,8 +17,17 @@ - `hyprland_surface` -> for setting hyprland specific wl_surface properties. - `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. -# Contributing +## Building +```sh +git clone https://github.com/hyprwm/hyprland-protocols +cd hyprland-protocols +meson setup build +sudo meson install -C 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! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyprland-protocols-0.6.4/VERSION new/hyprland-protocols-0.7.0/VERSION --- old/hyprland-protocols-0.6.4/VERSION 2025-04-03 23:14:34.000000000 +0200 +++ new/hyprland-protocols-0.7.0/VERSION 2025-10-04 22:37:23.000000000 +0200 @@ -1 +1 @@ -0.6.4 +0.7.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyprland-protocols-0.6.4/meson.build new/hyprland-protocols-0.7.0/meson.build --- old/hyprland-protocols-0.6.4/meson.build 2025-04-03 23:14:34.000000000 +0200 +++ new/hyprland-protocols-0.7.0/meson.build 2025-10-04 22:37:23.000000000 +0200 @@ -15,6 +15,7 @@ 'hyprland-ctm-control': ['v1'], 'hyprland-surface': ['v1'], 'hyprland-lock-notify': ['v1'], + 'hyprland-input-capture': ['v1'], } protocol_files = [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyprland-protocols-0.6.4/protocols/hyprland-input-capture-v1.xml new/hyprland-protocols-0.7.0/protocols/hyprland-input-capture-v1.xml --- old/hyprland-protocols-0.6.4/protocols/hyprland-input-capture-v1.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/hyprland-protocols-0.7.0/protocols/hyprland-input-capture-v1.xml 2025-10-04 22:37:23.000000000 +0200 @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<protocol name="hyprland_input_capture_v1"> + <copyright> + Copyright © 2025 Fl0w + + 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="Bridge input capture to the compositor"> + This protocol is a bridge of the XDG input capture to the compositor. + </description> + + <interface name="hyprland_input_capture_manager_v1" version="1"> + <description summary="manage input capture sessions"> + This interface allows to create an input capture session. + </description> + + <request name="create_session"> + <description summary="create a input capture session"> + Create a input capture session. + </description> + + <arg name="session" type="new_id" interface="hyprland_input_capture_v1"/> + <arg name="handle" type="string"/> + </request> + </interface> + + <interface name="hyprland_input_capture_v1" version="1"> + <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. + Barriers can only be placed on screen edges and need to be a straight line that cover one corner to another. + </description> + + <request name="clear_barriers"> + <description summary="clear every barriers registered"> + Remove every barriers from the session, new barriers need to be send before calling enable again. + </description> + </request> + + <request name="add_barrier"> + <description summary="add one barrier"> + Add one barrier to the current session, the barrier need to a line placed on the edge of the screen, and is a straight line from one corner to another. + </description> + + <arg name="zone_set" type="uint" summary="The current zone_set" /> + <arg name="id" type="uint" summary="The zone id" /> + <arg name="x1" type="uint"/> + <arg name="y1" type="uint"/> + <arg name="x2" type="uint"/> + <arg name="y2" type="uint"/> + </request> + + <request name="enable"> + <description summary="enable input capturing"> + Enable the input capturing to be triggered by the cursor crossing a barrier. + </description> + </request> + + <request name="disable"> + <description summary="disable input capturing"> + Disable input capturing, the crossing of a barrier will not trigger anymore input capture. + </description> + </request> + + <request name="release"> + <description summary="release input capturing"> + Release input capturing, the input are not intercepted anymore and barrier crossing will activate it again. + If x != -1 and y != -1 then the cursor is warped to the x and y coordinates. + </description> + + <arg name="activation_id" type="uint" summary="The activation id provided when activated is called" /> + <arg name="x" + type="fixed" + summary="the x position of the cursor" /> + <arg name="y" type="fixed" + summary="the y position of the cursor" /> + </request> + + <event name="eis_fd"> + <description summary="eis file descriptor"> + This event provide the file descriptor of an eis socket where inputs will be sent when input capturing is active + </description> + + <arg name="fd" type="fd" summary="eis socket file descriptor" /> + </event> + + <event name="disabled"> + <description summary="disable the session"> + Called when the application will not receive captured input. The application can call enable to request future input capturing + </description> + </event> + + <event name="activated"> + <description summary="inputs has been captured"> + Called when the application is about to receive inputs + </description> + + <arg name="activation_id" + type="uint" + summary="Same number used in eis start_emulating to allow synchronisation" /> + <arg name="x" + type="fixed" + summary="the x position of the cursor" /> + <arg name="y" type="fixed" + summary="the y position of the cursor" /> + <arg name="barrier_id" + type="uint" + summary="the is of the barrier that have been triggered" /> + </event> + + <event name="deactivated"> + <description summary="pointer motion"> + Called when input capture is stopped, and inputs are no longer sent to the application + </description> + <arg name="activation_id" + type="uint" + summary="same activation id of the latest activated event" /> + </event> + + <enum name="error"> + <entry name="invalid_barrier_id" value="0" + summary="The barrier id already exist"/> + <entry name="invalid_barrier" value="1" + summary="The barrier coordinates are invalid"/> + <entry name="invalid_activation_id" value="2" + summary="The activation id provided is invalid"/> + </enum> + </interface> +</protocol>
