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.