Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xdg-desktop-portal-wlr for 
openSUSE:Factory checked in at 2025-12-05 16:55:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdg-desktop-portal-wlr (Old)
 and      /work/SRC/openSUSE:Factory/.xdg-desktop-portal-wlr.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xdg-desktop-portal-wlr"

Fri Dec  5 16:55:36 2025 rev:11 rq:1321118 version:0.8.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr.changes
    2025-10-22 12:20:47.666870485 +0200
+++ 
/work/SRC/openSUSE:Factory/.xdg-desktop-portal-wlr.new.1939/xdg-desktop-portal-wlr.changes
  2025-12-05 16:56:02.946911124 +0100
@@ -1,0 +2,7 @@
+Thu Dec  4 10:26:32 UTC 2025 - Arnav Singh <[email protected]>
+
+- Update to 0.8.1:
+  * Support simple choosers returning a toplevel name.
+  * Various improvements.
+
+-------------------------------------------------------------------

Old:
----
  xdg-desktop-portal-wlr-0.8.0.tar.gz
  xdg-desktop-portal-wlr-0.8.0.tar.gz.sig

New:
----
  xdg-desktop-portal-wlr-0.8.1.tar.gz
  xdg-desktop-portal-wlr-0.8.1.tar.gz.sig

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

Other differences:
------------------
++++++ xdg-desktop-portal-wlr.spec ++++++
--- /var/tmp/diff_new_pack.v9OLxs/_old  2025-12-05 16:56:05.018997755 +0100
+++ /var/tmp/diff_new_pack.v9OLxs/_new  2025-12-05 16:56:05.038998592 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           xdg-desktop-portal-wlr
-Version:        0.8.0
+Version:        0.8.1
 Release:        0
 Summary:        An xdg-desktop-portal backend for wlroots
 License:        MIT

++++++ xdg-desktop-portal-wlr-0.8.0.tar.gz -> 
xdg-desktop-portal-wlr-0.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xdg-desktop-portal-wlr-0.8.0/contrib/config.sample 
new/xdg-desktop-portal-wlr-0.8.1/contrib/config.sample
--- old/xdg-desktop-portal-wlr-0.8.0/contrib/config.sample      2025-10-21 
14:24:44.000000000 +0200
+++ new/xdg-desktop-portal-wlr-0.8.1/contrib/config.sample      2025-12-04 
11:07:33.000000000 +0100
@@ -1,5 +1,5 @@
 [screencast]
 output_name=
 max_fps=30
-chooser_cmd=slurp -f %o -or
+chooser_cmd=slurp -f 'Monitor: %o' -or
 chooser_type=simple
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xdg-desktop-portal-wlr-0.8.0/include/screencast_common.h 
new/xdg-desktop-portal-wlr-0.8.1/include/screencast_common.h
--- old/xdg-desktop-portal-wlr-0.8.0/include/screencast_common.h        
2025-10-21 14:24:44.000000000 +0200
+++ new/xdg-desktop-portal-wlr-0.8.1/include/screencast_common.h        
2025-12-04 11:07:33.000000000 +0100
@@ -226,9 +226,8 @@
        uint32_t id;
        struct wl_output *output;
        struct zxdg_output_v1 *xdg_output;
-       char *make;
-       char *model;
        char *name;
+       char *description;
        int x;
        int y;
        int width;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xdg-desktop-portal-wlr-0.8.0/meson.build 
new/xdg-desktop-portal-wlr-0.8.1/meson.build
--- old/xdg-desktop-portal-wlr-0.8.0/meson.build        2025-10-21 
14:24:44.000000000 +0200
+++ new/xdg-desktop-portal-wlr-0.8.1/meson.build        2025-12-04 
11:07:33.000000000 +0100
@@ -1,7 +1,7 @@
 project(
        'xdg-desktop-portal-wlr',
        'c',
-       version: '0.8.0',
+       version: '0.8.1',
        license: 'MIT',
        meson_version: '>=0.60.0',
        default_options: ['c_std=c11', 'warning_level=2', 'werror=true'],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xdg-desktop-portal-wlr-0.8.0/src/screencast/chooser.c 
new/xdg-desktop-portal-wlr-0.8.1/src/screencast/chooser.c
--- old/xdg-desktop-portal-wlr-0.8.0/src/screencast/chooser.c   2025-10-21 
14:24:44.000000000 +0200
+++ new/xdg-desktop-portal-wlr-0.8.1/src/screencast/chooser.c   2025-12-04 
11:07:33.000000000 +0100
@@ -111,12 +111,20 @@
        return name;
 }
 
-static char *get_output_label(struct xdpw_wlr_output *output) {
-       return format_str("Monitor: %s", output->name);
+static char *get_output_label(struct xdpw_wlr_output *output, enum 
xdpw_chooser_types chooser_type) {
+       if (chooser_type == XDPW_CHOOSER_DMENU) {
+               return format_str("Monitor: %s %s", output->name, 
output->description);
+       } else {
+               return format_str("Monitor: %s", output->name);
+       }
 }
 
-static char *get_toplevel_label(struct xdpw_toplevel *toplevel) {
-       return format_str("Window: %s (%s)", toplevel->title, 
toplevel->identifier);
+static char *get_toplevel_label(struct xdpw_toplevel *toplevel, enum 
xdpw_chooser_types chooser_type) {
+       if (chooser_type == XDPW_CHOOSER_DMENU) {
+               return format_str("Window: %s (%s)", toplevel->title, 
toplevel->identifier);
+       } else {
+               return format_str("Window: %s", toplevel->identifier);
+       }
 }
 
 static bool wlr_chooser(const struct xdpw_chooser *chooser,
@@ -136,7 +144,7 @@
                if (type_mask & MONITOR) {
                        struct xdpw_wlr_output *out;
                        wl_list_for_each(out, &ctx->output_list, link) {
-                               char *label = get_output_label(out);
+                               char *label = get_output_label(out, 
chooser->type);
                                fprintf(chooser_in, "%s\n", label);
                                free(label);
                        }
@@ -144,7 +152,7 @@
                if (type_mask & WINDOW) {
                        struct xdpw_toplevel *toplevel;
                        wl_list_for_each(toplevel, &ctx->toplevels, link) {
-                               char *label = get_toplevel_label(toplevel);
+                               char *label = get_toplevel_label(toplevel, 
chooser->type);
                                fprintf(chooser_in, "%s\n", label);
                                free(label);
                        }
@@ -171,9 +179,13 @@
        bool found = false;
        struct xdpw_wlr_output *out;
        wl_list_for_each(out, &ctx->output_list, link) {
-               char *label = get_output_label(out);
+               char *label = get_output_label(out, chooser->type);
                found = strcmp(selected_label, label) == 0;
                free(label);
+               if (!found && chooser->type == XDPW_CHOOSER_SIMPLE) {
+                       // Compatibility with xdg-desktop-portal-wlr < v0.8.0
+                       found = strcmp(selected_label, out->name) == 0;
+               }
                if (found) {
                        target->type = MONITOR;
                        target->output = out;
@@ -186,7 +198,7 @@
                if (found) {
                        break;
                }
-               char *label = get_toplevel_label(toplevel);
+               char *label = get_toplevel_label(toplevel, chooser->type);
                found = strcmp(selected_label, label) == 0;
                free(label);
                if (found) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xdg-desktop-portal-wlr-0.8.0/src/screencast/screencast.c 
new/xdg-desktop-portal-wlr-0.8.1/src/screencast/screencast.c
--- old/xdg-desktop-portal-wlr-0.8.0/src/screencast/screencast.c        
2025-10-21 14:24:44.000000000 +0200
+++ new/xdg-desktop-portal-wlr-0.8.1/src/screencast/screencast.c        
2025-12-04 11:07:33.000000000 +0100
@@ -139,8 +139,8 @@
        if (type_mask & MONITOR) {
                struct xdpw_wlr_output *output;
                wl_list_for_each(output, &ctx->output_list, link) {
-                       logprint(INFO, "wlroots: capturable output: %s model: 
%s id: %i name: %s",
-                               output->make, output->model, output->id, 
output->name);
+                       logprint(INFO, "wlroots: capturable output: %i %s",
+                               output->id, output->name);
                }
        }
        if (type_mask & WINDOW) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xdg-desktop-portal-wlr-0.8.0/src/screencast/wlr_screencast.c 
new/xdg-desktop-portal-wlr-0.8.1/src/screencast/wlr_screencast.c
--- old/xdg-desktop-portal-wlr-0.8.0/src/screencast/wlr_screencast.c    
2025-10-21 14:24:44.000000000 +0200
+++ new/xdg-desktop-portal-wlr-0.8.1/src/screencast/wlr_screencast.c    
2025-12-04 11:07:33.000000000 +0100
@@ -72,8 +72,6 @@
                int32_t x, int32_t y, int32_t phys_width, int32_t phys_height,
                int32_t subpixel, const char *make, const char *model, int32_t 
transform) {
        struct xdpw_wlr_output *output = data;
-       output->make = strdup(make);
-       output->model = strdup(model);
        output->transformation = transform;
 }
 
@@ -102,7 +100,9 @@
 
 static void wlr_output_handle_description(void *data, struct wl_output 
*wl_output,
                const char *description) {
-       /* Nothing to do */
+       struct xdpw_wlr_output *output = data;
+       free(output->description);
+       output->description = strdup(description);
 }
 
 static const struct wl_output_listener wlr_output_listener = {
@@ -186,8 +186,7 @@
 
 static void wlr_remove_output(struct xdpw_wlr_output *out) {
        free(out->name);
-       free(out->make);
-       free(out->model);
+       free(out->description);
        if (out->xdg_output) {
                zxdg_output_v1_destroy(out->xdg_output);
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/xdg-desktop-portal-wlr-0.8.0/xdg-desktop-portal-wlr.5.scd 
new/xdg-desktop-portal-wlr-0.8.1/xdg-desktop-portal-wlr.5.scd
--- old/xdg-desktop-portal-wlr-0.8.0/xdg-desktop-portal-wlr.5.scd       
2025-10-21 14:24:44.000000000 +0200
+++ new/xdg-desktop-portal-wlr-0.8.1/xdg-desktop-portal-wlr.5.scd       
2025-12-04 11:07:33.000000000 +0100
@@ -29,7 +29,7 @@
 exec_before=disable_notifications.sh
 exec_after=enable_notifications.sh
 chooser_type=simple
-chooser_cmd=slurp -f %o -or
+chooser_cmd=slurp -f 'Monitor: %o' -or
 ```
 
 # SCREENCAST OPTIONS
@@ -84,8 +84,12 @@
 The chooser can be any program or script with the following behaviour:
 - It returns any error code except 127. The error code 127 is internally used 
to signal
   that no command could be found and all output from it will be ignored.
-- It returns the name of a valid output on stdout as given by 
**wayland-info**(1).
-  Everything else will be handled as declined by the user.
+- It returns a string on stdout, which is valid if it matches on of the the 
following:
+   - For simple choosers:
+     - The prefix "Monitor: " followed by the name of a valid output as given 
by **wayland-info**(1).
+     - The prefix "Window: " followed by the ext-foreign-toplevel-list-v1 
identifier as given by **lswt**(1).
+   - For dmenu choosers: one of the lines provided via stdin.
+   Everything else will be handled as declined by the user.
 - To signal that the user has declined screencast, the chooser should exit 
without
   anything on stdout.
 

Reply via email to