Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xdg-desktop-portal-hyprland for 
openSUSE:Factory checked in at 2023-05-31 21:54:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdg-desktop-portal-hyprland (Old)
 and      /work/SRC/openSUSE:Factory/.xdg-desktop-portal-hyprland.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xdg-desktop-portal-hyprland"

Wed May 31 21:54:24 2023 rev:2 rq:1089888 version:unknown

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland.changes
  2023-05-23 14:55:08.418695031 +0200
+++ 
/work/SRC/openSUSE:Factory/.xdg-desktop-portal-hyprland.new.1533/xdg-desktop-portal-hyprland.changes
        2023-05-31 21:54:26.312984511 +0200
@@ -1,0 +2,7 @@
+Tue May 30 11:15:39 UTC 2023 - Soc Virnyl Estela <socvirnyl.est...@gmail.com>
+
+- Update to version 0.4.0:
+  * screencast: restore window by class
+  * some nix stuff
+
+-------------------------------------------------------------------

Old:
----
  xdg-desktop-portal-hyprland-0.3.1.tar.gz

New:
----
  xdg-desktop-portal-hyprland-0.4.0.tar.gz

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

Other differences:
------------------
++++++ xdg-desktop-portal-hyprland.spec ++++++
--- /var/tmp/diff_new_pack.iTWvQA/_old  2023-05-31 21:54:26.780987277 +0200
+++ /var/tmp/diff_new_pack.iTWvQA/_new  2023-05-31 21:54:26.784987300 +0200
@@ -18,7 +18,7 @@
 
 %define _protocol_version 0.2
 Name:           xdg-desktop-portal-hyprland
-Version:        0.3.1
+Version:        0.4.0
 Release:        0
 Summary:        Extended xdg-desktop-portal backend for Hyprland
 License:        MIT

++++++ xdg-desktop-portal-hyprland-0.3.1.tar.gz -> 
xdg-desktop-portal-hyprland-0.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xdg-desktop-portal-hyprland-0.3.1/flake.lock 
new/xdg-desktop-portal-hyprland-0.4.0/flake.lock
--- old/xdg-desktop-portal-hyprland-0.3.1/flake.lock    2023-04-25 
18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/flake.lock    2023-05-29 
20:42:44.000000000 +0200
@@ -22,11 +22,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1680945546,
-        "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=",
+        "lastModified": 1683014792,
+        "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d",
+        "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42",
         "type": "github"
       },
       "original": {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xdg-desktop-portal-hyprland-0.3.1/flake.nix 
new/xdg-desktop-portal-hyprland-0.4.0/flake.nix
--- old/xdg-desktop-portal-hyprland-0.3.1/flake.nix     2023-04-25 
18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/flake.nix     2023-05-29 
20:42:44.000000000 +0200
@@ -20,7 +20,14 @@
       "aarch64-linux"
       "x86_64-linux"
     ];
-    pkgsFor = nixpkgs.legacyPackages;
+    pkgsFor = genSystems (system:
+      import nixpkgs {
+        inherit system;
+        overlays = [
+          self.overlays.default
+          inputs.hyprland-protocols.overlays.default
+        ];
+      });
     mkDate = longDate: (lib.concatStringsSep "-" [
       (builtins.substring 0 4 longDate)
       (builtins.substring 4 2 longDate)
@@ -28,18 +35,17 @@
     ]);
     version = "0.pre" + "+date=" + (mkDate (self.lastModifiedDate or 
"19700101")) + "_" + (self.shortRev or "dirty");
   in {
-    overlays.default = _: prev: rec {
-      xdg-desktop-portal-hyprland = prev.callPackage ./nix/default.nix {
-        stdenv = prev.gcc12Stdenv;
-        inherit 
(inputs.hyprland-protocols.packages.${prev.hostPlatform.system}) 
hyprland-protocols;
-        inherit hyprland-share-picker version;
+    overlays.default = final: prev: {
+      xdg-desktop-portal-hyprland = final.callPackage ./nix/default.nix {
+        inherit (final) hyprland-protocols hyprland-share-picker;
+        inherit version;
       };
 
-      hyprland-share-picker = prev.libsForQt5.callPackage 
./nix/hyprland-share-picker.nix {inherit version;};
+      hyprland-share-picker = final.libsForQt5.callPackage 
./nix/hyprland-share-picker.nix {inherit version;};
     };
 
     packages = genSystems (system:
-      (self.overlays.default null pkgsFor.${system})
+      (self.overlays.default pkgsFor.${system} pkgsFor.${system})
       // {default = self.packages.${system}.xdg-desktop-portal-hyprland;});
 
     formatter = genSystems (system: pkgsFor.${system}.alejandra);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xdg-desktop-portal-hyprland-0.3.1/include/screencast_common.h 
new/xdg-desktop-portal-hyprland-0.4.0/include/screencast_common.h
--- old/xdg-desktop-portal-hyprland-0.3.1/include/screencast_common.h   
2023-04-25 18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/include/screencast_common.h   
2023-05-29 20:42:44.000000000 +0200
@@ -64,7 +64,7 @@
     uint64_t tv_sec;
     uint32_t tv_nsec;
     struct xdpw_frame_damage damage[4];
-       uint32_t damage_count;
+    uint32_t damage_count;
     struct xdpw_buffer *xdpw_buffer;
     struct pw_buffer *pw_buffer;
 };
@@ -164,6 +164,7 @@
 struct xdph_restore_token {
     char *token;
     char *outputPort;       // NULL if not set
+    char *windowClass;      // NULL if not set
     uint64_t windowHandle;  // 0 if not set
     struct wl_list link;
     bool withCursor;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xdg-desktop-portal-hyprland-0.3.1/meson.build 
new/xdg-desktop-portal-hyprland-0.4.0/meson.build
--- old/xdg-desktop-portal-hyprland-0.3.1/meson.build   2023-04-25 
18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/meson.build   2023-05-29 
20:42:44.000000000 +0200
@@ -1,7 +1,7 @@
 project(
        'xdg-desktop-portal-hyprland',
        'c',
-       version: '0.2.1',
+       version: '0.4.0',
        license: 'MIT',
        meson_version: '>=0.58.0',
        default_options: ['c_std=c11', 'warning_level=2', 'werror=false'],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xdg-desktop-portal-hyprland-0.3.1/src/screencast/screencast.c 
new/xdg-desktop-portal-hyprland-0.4.0/src/screencast/screencast.c
--- old/xdg-desktop-portal-hyprland-0.3.1/src/screencast/screencast.c   
2023-04-25 18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/src/screencast/screencast.c   
2023-05-29 20:42:44.000000000 +0200
@@ -132,14 +132,26 @@
     if (token) {
         // attempt to restore
         if (token->outputPort) {
-            struct xdpw_wlr_output *output;
-            wl_list_for_each(output, &ctx->output_list, link) {
-                if (strcmp(output->name, token->outputPort) == 0) {
-                    out.output = output;
-                    tokenSuccess = true;
-                    break;
+            if (strncmp(token->outputPort, "class:", 6) == 0) {
+                struct SToplevelEntry *current;
+                wl_list_for_each(current, &ctx->toplevel_resource_list, link) {
+                    if (strcmp(token->outputPort + 6, current->clazz) == 0) {
+                        out.window_handle = token->windowHandle;
+                        tokenSuccess = true;
+                        break;
+                    }
+                }
+            } else {
+                struct xdpw_wlr_output *output;
+                wl_list_for_each(output, &ctx->output_list, link) {
+                    if (strcmp(output->name, token->outputPort) == 0) {
+                        out.output = output;
+                        tokenSuccess = true;
+                        break;
+                    }
                 }
             }
+
         } else if (token->windowHandle > 0) {
             struct SToplevelEntry *current;
             wl_list_for_each(current, &ctx->toplevel_resource_list, link) {
@@ -249,6 +261,16 @@
     restoreToken->token = uuid_str;
     restoreToken->withCursor = withCursor;
 
+    if (windowSelected) {
+        struct SToplevelEntry *current;
+        wl_list_for_each(current, &state->screencast.toplevel_resource_list, 
link) {
+            if (current->handle == restoreToken->windowHandle) {
+                restoreToken->windowClass = getFormat("class:%x", 
current->clazz);
+                break;
+            }
+        }
+    }
+
     return restoreToken;
 }
 
@@ -644,12 +666,13 @@
 
     logprint(DEBUG, "dbus: start: returning node %d", (int)cast->node_id);
     if (restoreToken)
-        ret = sd_bus_message_append(reply, "ua{sv}", PORTAL_RESPONSE_SUCCESS, 
3, "streams", "a(ua{sv})", 1, cast->node_id, 3, "position", "(ii)", 0,
-                                    0, "size", "(ii)", 
cast->screencopy_frame_info[WL_SHM].width, 
cast->screencopy_frame_info[WL_SHM].height,
-                                    "source_type", "u", (cast->target.output ? 
(1 << MONITOR) : (1 << WINDOW)), "persist_mode", "u", sess->persist,
-                                    "restore_data", "(suv)", "hyprland", 2, 
"(susbt)" /* amogus */, restoreToken->token, restoreToken->windowHandle,
-                                    (restoreToken->outputPort == NULL ? "" : 
restoreToken->outputPort), restoreToken->withCursor,
-                                    (unsigned long)time(NULL));
+        ret = sd_bus_message_append(
+            reply, "ua{sv}", PORTAL_RESPONSE_SUCCESS, 3, "streams", 
"a(ua{sv})", 1, cast->node_id, 3, "position", "(ii)", 0, 0, "size", "(ii)",
+            cast->screencopy_frame_info[WL_SHM].width, 
cast->screencopy_frame_info[WL_SHM].height, "source_type", "u",
+            (cast->target.output ? (1 << MONITOR) : (1 << WINDOW)), 
"persist_mode", "u", sess->persist, "restore_data", "(suv)", "hyprland", 2,
+            "(susbt)" /* amogus */, restoreToken->token, 
restoreToken->windowHandle,
+            (restoreToken->outputPort == NULL ? (restoreToken->windowHandle ? 
restoreToken->windowClass : "") : restoreToken->outputPort),
+            restoreToken->withCursor, (unsigned long)time(NULL));
     else
         ret = sd_bus_message_append(reply, "ua{sv}", PORTAL_RESPONSE_SUCCESS, 
1, "streams", "a(ua{sv})", 1, cast->node_id, 3, "position", "(ii)", 0,
                                     0, "size", "(ii)", 
cast->screencopy_frame_info[WL_SHM].width, 
cast->screencopy_frame_info[WL_SHM].height,

Reply via email to