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 2024-07-10 16:49:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyprland-protocols (Old)
 and      /work/SRC/openSUSE:Factory/.hyprland-protocols.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hyprland-protocols"

Wed Jul 10 16:49:53 2024 rev:2 rq:1186485 version:0.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/hyprland-protocols/hyprland-protocols.changes    
2024-02-26 19:45:28.138078177 +0100
+++ 
/work/SRC/openSUSE:Factory/.hyprland-protocols.new.2080/hyprland-protocols.changes
  2024-07-10 16:49:59.896681624 +0200
@@ -1,0 +2,6 @@
+Tue Jul  9 23:38:23 UTC 2024 - Soc Virnyl Estela <[email protected]>
+
+- Update to version 0.3.0:
+  * Add hyprland_focus_grab_v1
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ hyprland-protocols.spec ++++++
--- /var/tmp/diff_new_pack.3TZSxG/_old  2024-07-10 16:50:00.852716728 +0200
+++ /var/tmp/diff_new_pack.3TZSxG/_new  2024-07-10 16:50:00.856716875 +0200
@@ -20,9 +20,9 @@
 Summary:        Wayland extension protocol for Hyprland
 Group:          Development/Libraries/Other
 License:        BSD-3-Clause
-Version:        0.2
+Version:        0.3.0
 Release:        0
-Url:            https://github.com/hyprwm/hyprland-protocols
+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:  pkgconfig

++++++ hyprland-protocols-0.2.tar.gz -> hyprland-protocols-0.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.2/README.md 
new/hyprland-protocols-0.3.0/README.md
--- old/hyprland-protocols-0.2/README.md        2023-04-09 20:41:37.000000000 
+0200
+++ new/hyprland-protocols-0.3.0/README.md      2024-06-18 23:31:54.000000000 
+0200
@@ -7,10 +7,8 @@
 
 # Finished protocols
 - `hyprland_toplevel_export` -> for exporting toplevel buffers (aka. windows) 
for screensharing
-
-# Planned protocols
 - `hyprland_global_keybindings` -> for managing global keybinds via D-Bus.
-- `hyprland_window_management` -> for custom window managers / layouts.
+- `hyprland_focus_grab` -> for grabbing input focus, primarily for complex 
context menus.
 
 # Contributing
 Adding new protocols is *discouraged*. If the protocol has a good reason to 
be, and you have an impl ready, feel free to make a PR.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.2/flake.lock 
new/hyprland-protocols-0.3.0/flake.lock
--- old/hyprland-protocols-0.2/flake.lock       2023-04-09 20:41:37.000000000 
+0200
+++ new/hyprland-protocols-0.3.0/flake.lock     2024-06-18 23:31:54.000000000 
+0200
@@ -2,11 +2,11 @@
   "nodes": {
     "nixpkgs": {
       "locked": {
-        "lastModified": 1669969257,
-        "narHash": "sha256-mOS13sK3v+kfgP+1Mh56ohiG8uVhLHAo7m/q9kqAehc=",
+        "lastModified": 1683014792,
+        "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "b72b8b94cf0c012b0252a9100a636cad69696666",
+        "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42",
         "type": "github"
       },
       "original": {
@@ -18,7 +18,23 @@
     },
     "root": {
       "inputs": {
-        "nixpkgs": "nixpkgs"
+        "nixpkgs": "nixpkgs",
+        "systems": "systems"
+      }
+    },
+    "systems": {
+      "locked": {
+        "lastModified": 1689347949,
+        "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
+        "owner": "nix-systems",
+        "repo": "default-linux",
+        "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default-linux",
+        "type": "github"
       }
     }
   },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.2/flake.nix 
new/hyprland-protocols-0.3.0/flake.nix
--- old/hyprland-protocols-0.2/flake.nix        2023-04-09 20:41:37.000000000 
+0200
+++ new/hyprland-protocols-0.3.0/flake.nix      2024-06-18 23:31:54.000000000 
+0200
@@ -1,19 +1,25 @@
 {
   description = "Hyprland Protocols";
 
-  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+  inputs = {
+    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+    # <https://github.com/nix-systems/nix-systems>
+    systems.url = "github:nix-systems/default-linux";
+  };
 
   outputs = {
     self,
     nixpkgs,
+    systems,
     ...
   }: let
     inherit (nixpkgs) lib;
-    genSystems = lib.genAttrs [
-      "aarch64-linux"
-      "x86_64-linux"
-    ];
-    pkgsFor = nixpkgs.legacyPackages;
+    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)
@@ -21,14 +27,18 @@
     ]);
     version = "0.1" + "+date=" + (mkDate (self.lastModifiedDate or 
"19700101")) + "_" + (self.shortRev or "dirty");
   in {
-    overlays.default = _: prev: {
-      hyprland-protocols = prev.callPackage ./nix/default.nix {inherit 
version;};
+    overlays = {
+      hyprland-protocols = final: prev: {
+        hyprland-protocols = final.callPackage ./nix/default.nix {inherit 
version;};
+      };
+      default = self.overlays.hyprland-protocols;
     };
 
-    packages = genSystems (system:
-      (self.overlays.default null pkgsFor.${system})
-      // {default = self.packages.${system}.hyprland-protocols;});
+    packages = eachSystem (system: {
+      inherit (pkgsFor.${system}) hyprland-protocols;
+      default = self.packages.${system}.hyprland-protocols;
+    });
 
-    formatter = genSystems (system: pkgsFor.${system}.alejandra);
+    formatter = eachSystem (system: 
nixpkgs.legacyPackages.${system}.alejandra);
   };
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hyprland-protocols-0.2/meson.build 
new/hyprland-protocols-0.3.0/meson.build
--- old/hyprland-protocols-0.2/meson.build      2023-04-09 20:41:37.000000000 
+0200
+++ new/hyprland-protocols-0.3.0/meson.build    2024-06-18 23:31:54.000000000 
+0200
@@ -1,5 +1,5 @@
 project('hyprland-protocols',
-       version: '0.2',
+       version: '0.3.0',
        meson_version: '>= 0.55.0',
 )
 
@@ -9,7 +9,8 @@
 
 protocols = {
   'hyprland-toplevel-export': ['v1'],
-  'hyprland-global-shortcuts': ['v1']
+  'hyprland-global-shortcuts': ['v1'],
+  'hyprland-focus-grab': ['v1'],
 }
 
 protocol_files = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/hyprland-protocols-0.2/protocols/hyprland-focus-grab-v1.xml 
new/hyprland-protocols-0.3.0/protocols/hyprland-focus-grab-v1.xml
--- old/hyprland-protocols-0.2/protocols/hyprland-focus-grab-v1.xml     
1970-01-01 01:00:00.000000000 +0100
+++ new/hyprland-protocols-0.3.0/protocols/hyprland-focus-grab-v1.xml   
2024-06-18 23:31:54.000000000 +0200
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="hyprland_focus_grab_v1">
+  <copyright>
+    Copyright © 2024 outfoxxed
+    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="limit input focus to a set of surfaces">
+    This protocol allows clients to limit input focus to a specific set
+    of surfaces and receive a notification when the limiter is removed as
+    detailed below.
+  </description>
+
+  <interface name="hyprland_focus_grab_manager_v1" version="1">
+    <description summary="manager for focus grab objects">
+      This interface allows a client to create surface grab objects.
+    </description>
+
+    <request name="create_grab">
+      <description summary="create a focus grab object">
+        Create a surface grab object.
+      </description>
+
+      <arg name="grab" type="new_id" interface="hyprland_focus_grab_v1"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy the focus grab manager">
+        Destroy the focus grab manager.
+        This doesn't destroy existing focus grab objects.
+      </description>
+    </request>
+  </interface>
+
+  <interface name="hyprland_focus_grab_v1" version="1">
+    <description summary="input focus limiter">
+      This interface restricts input focus to a specified whitelist of
+      surfaces as long as the focus grab object exists and has at least
+      one comitted surface.
+
+      Mouse and touch events inside a whitelisted surface will be passed
+      to the surface normally, while events outside of a whitelisted surface
+      will clear the grab object. Keyboard events will be passed to the client
+      and a compositor-picked surface in the whitelist will receive a
+      wl_keyboard::enter event if a whitelisted surface is not already entered.
+
+      Upon meeting implementation-defined criteria usually meaning a mouse or
+      touch input outside of any whitelisted surfaces, the compositor will
+      clear the whitelist, rendering the grab inert and sending the cleared
+      event. The same will happen if another focus grab or similar action
+      is started at the compositor's discretion.
+    </description>
+
+    <request name="add_surface">
+      <description summary="add a surface to the focus whitelist">
+        Add a surface to the whitelist. Destroying the surface is treated the
+        same as an explicit call to remove_surface and duplicate additions are
+        ignored.
+
+        Does not take effect until commit is called.
+      </description>
+
+      <arg name="surface" type="object" interface="wl_surface"/>
+    </request>
+
+    <request name="remove_surface">
+      <description summary="remove a surface from the focus whitelist">
+        Remove a surface from the whitelist. Destroying the surface is treated
+        the same as an explicit call to this function.
+
+        If the grab was active and the removed surface was entered by the
+        keyboard, another surface will be entered on commit.
+
+        Does not take effect until commit is called.
+      </description>
+
+      <arg name="surface" type="object" interface="wl_surface"/>
+    </request>
+
+    <request name="commit">
+      <description summary="commit the focus whitelist">
+        Commit pending changes to the surface whitelist.
+
+        If the list previously had no entries and now has at least one, the 
grab
+        will start. If it previously had entries and now has none, the grab 
will
+        become inert.
+      </description>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="destroy the focus grab">
+        Destroy the grab object and remove the grab if active.
+      </description>
+    </request>
+
+    <event name="cleared">
+      <description summary="the focus grab was cleared">
+        Sent when an active grab is cancelled by the compositor,
+        regardless of cause.
+      </description>
+    </event>
+  </interface>
+</protocol>

Reply via email to