Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xfdesktop for openSUSE:Factory 
checked in at 2025-08-21 17:00:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfdesktop (Old)
 and      /work/SRC/openSUSE:Factory/.xfdesktop.new.29662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xfdesktop"

Thu Aug 21 17:00:43 2025 rev:50 rq:1300797 version:4.20.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/xfdesktop/xfdesktop.changes      2025-02-19 
16:00:06.487980624 +0100
+++ /work/SRC/openSUSE:Factory/.xfdesktop.new.29662/xfdesktop.changes   
2025-08-21 17:00:59.314134219 +0200
@@ -1,0 +2,8 @@
+Fri Aug 15 14:33:48 UTC 2025 - Takashi Iwai <ti...@suse.com>
+
+- Fix the monitor name pickup on Wayland, which resulted in broken
+  background picture setup (bsc#1247542):
+  xfdesktop-wayland-get-proper-monitor-name.patch
+- Fix missing backslash for building in non-git mode
+
+-------------------------------------------------------------------

New:
----
  xfdesktop-wayland-get-proper-monitor-name.patch

----------(New B)----------
  New:  background picture setup (bsc#1247542):
  xfdesktop-wayland-get-proper-monitor-name.patch
- Fix missing backslash for building in non-git mode
----------(New E)----------

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

Other differences:
------------------
++++++ xfdesktop.spec ++++++
--- /var/tmp/diff_new_pack.Qo565F/_old  2025-08-21 17:00:59.870157503 +0200
+++ /var/tmp/diff_new_pack.Qo565F/_new  2025-08-21 17:00:59.874157671 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package xfdesktop
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 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
@@ -29,6 +29,8 @@
 Patch0:         xfdesktop-backgrounds-path.patch
 # PATCH-FIX-OPENSUSE 0002-relax-libyaml-version.patch -- Allow build for Leap 
with its ancient but sufficient libyaml packages.
 Patch2:         0002-relax-libyaml-version.patch
+# PATCH-FIX-OPENSUSE xfdesktop-wayland-get-proper-monitor-name.patch -- Fix 
xfdesktop monitor name on Wayland
+Patch3:         xfdesktop-wayland-get-proper-monitor-name.patch
 %if 0%{?suse_version} && 0%{?suse_version} < 1550
 # Default gcc7 is too old for new C20 features
 BuildRequires:  gcc13
@@ -105,7 +107,7 @@
 %if %{with git}
 NOCONFIGURE=1 ./autogen.sh
 %configure \
-    --enable-maintainer-mode
+    --enable-maintainer-mode \
     
--with-default-backdrop-filename=%{_datadir}/wallpapers/xfce/default.wallpaper
 %else
 xdt-autogen

++++++ xfdesktop-wayland-get-proper-monitor-name.patch ++++++
Subject: Fix the broken background picture setup on Wayland

The xfdesktop-settings picks up the backdrop prefix with the monitor
name returned from xfdesktop_get_monitor_name_from_gtk_widget(), where
it tries to get the monitor name from gdk.  On Wayland, this returns
the actual monitor name or model, not the connector name.
Meanwhile, the xfdesktop itself uses the backdrop prefix with the
connector name (e.g. "eDP-1" or "Virtual-1").  This difference made
the setup done by xfdesktop-settings ignored.

Instead of deducing the prefix name from gdk, try to guess from the
given XfwWindow.

---
 settings/xfdesktop-background-settings.c |   23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

--- a/settings/xfdesktop-background-settings.c
+++ b/settings/xfdesktop-background-settings.c
@@ -1451,6 +1451,25 @@ xfdesktop_settings_get_active_workspace(
     return workspace_num;
 }
 
+static gchar *get_monitor_name(XfdesktopBackgroundSettings 
*background_settings,
+                               int monitor_num)
+{
+    GList *monitors = xfw_window_get_monitors(background_settings->xfw_window);
+
+    if (monitors) {
+        gpointer p = g_list_nth_data(monitors, monitor_num);
+
+        if (p) {
+            const gchar *name = xfw_monitor_get_connector(XFW_MONITOR(p));
+            if (name)
+                return g_strdup(name);
+        }
+    }
+
+    /* fallback */
+    return 
xfdesktop_get_monitor_name_from_gtk_widget(background_settings->image_iconview, 
monitor_num);
+}
+
 static void
 cb_update_background_tab(XfwWindow *xfw_window, XfdesktopBackgroundSettings 
*background_settings) {
     /* If we haven't found our window return now and wait for that */
@@ -1468,7 +1487,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
     GdkDisplay *display = gdk_window_get_display(window);
     GdkMonitor *monitor = gdk_display_get_monitor_at_window(display, window);
     gint monitor_num = xfdesktop_get_monitor_num(display, monitor);
-    gchar *monitor_name = 
xfdesktop_get_monitor_name_from_gtk_widget(background_settings->image_iconview, 
monitor_num);
+    gchar *monitor_name = get_monitor_name(background_settings, monitor_num);
 
     /* Most of the time we won't change monitor, screen, or workspace so try
      * to bail out now if we can */
@@ -1498,7 +1517,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
     background_settings->screen = screen_num;
     background_settings->monitor = monitor_num;
     g_free(background_settings->monitor_name);
-    background_settings->monitor_name = 
xfdesktop_get_monitor_name_from_gtk_widget(background_settings->image_iconview, 
monitor_num);
+    background_settings->monitor_name = get_monitor_name(background_settings, 
monitor_num);
 
     /* The first monitor has the option of doing the "spanning screens" style,
      * but only if there's multiple monitors attached. Remove it in all other 
cases.

Reply via email to