Compare commits
4 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 79e662e30f | |||
|
|
119d0966fb | ||
| 57ac0d35e8 | |||
| 2193bcdda9 |
@@ -1,125 +1,12 @@
|
||||
diff -rup a/configure.ac b/configure.ac
|
||||
--- a/configure.ac 2025-02-17 09:57:17.000000000 +0100
|
||||
+++ b/configure.ac 2025-02-17 11:36:08.511231592 +0100
|
||||
@@ -18,7 +18,7 @@ m4_define([thunar_minimum_version], [4.1
|
||||
m4_define([xfconf_minimum_version], [4.19.3])
|
||||
m4_define([cairo_minimum_version], [1.16])
|
||||
m4_define([gtk_layer_shell_minimum_version], [0.7.0])
|
||||
-m4_define([libyaml_minimum_version], [0.2.5])
|
||||
+m4_define([libyaml_minimum_version], [0.1.7])
|
||||
|
||||
dnl version info
|
||||
XDT_VERSION_INIT([4.20.1])
|
||||
diff -rup a/configure b/configure
|
||||
--- a/configure 2025-02-17 09:58:19.000000000 +0100
|
||||
+++ b/configure 2025-02-17 11:36:44.294229508 +0100
|
||||
@@ -22152,11 +22152,11 @@ fi
|
||||
|
||||
|
||||
if test x"$xdt_feature_deps_check_only" = x"yes"; then
|
||||
- if ! $PKG_CONFIG --exists "yaml-0.1 >= 0.2.5" >/dev/null 2>&1; then
|
||||
+ if ! $PKG_CONFIG --exists "yaml-0.1 >= 0.1.7" >/dev/null 2>&1; then
|
||||
if test x"$xdt_feature_deps_missing" = x""; then
|
||||
- xdt_feature_deps_missing="yaml-0.1 >= 0.2.5"
|
||||
+ xdt_feature_deps_missing="yaml-0.1 >= 0.1.7"
|
||||
else
|
||||
- xdt_feature_deps_missing="$xdt_feature_deps_missing, yaml-0.1 >= 0.2.5"
|
||||
+ xdt_feature_deps_missing="$xdt_feature_deps_missing, yaml-0.1 >= 0.1.7"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@@ -22310,9 +22310,9 @@ fi
|
||||
|
||||
|
||||
|
||||
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yaml-0.1 >= 0.2.5" >&5
|
||||
-printf %s "checking for yaml-0.1 >= 0.2.5... " >&6; }
|
||||
- if $PKG_CONFIG "--atleast-version=0.2.5" "yaml-0.1" >/dev/null 2>&1; then
|
||||
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yaml-0.1 >= 0.1.7" >&5
|
||||
+printf %s "checking for yaml-0.1 >= 0.1.7... " >&6; }
|
||||
+ if $PKG_CONFIG "--atleast-version=0.1.7" "yaml-0.1" >/dev/null 2>&1; then
|
||||
LIBYAML_VERSION=`$PKG_CONFIG --modversion "yaml-0.1"`
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBYAML_VERSION" >&5
|
||||
printf "%s\n" "$LIBYAML_VERSION" >&6; }
|
||||
@@ -22329,7 +22329,7 @@ printf %s "checking LIBYAML_LIBS... " >&
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBYAML_LIBS" >&5
|
||||
printf "%s\n" "$LIBYAML_LIBS" >&6; }
|
||||
|
||||
- LIBYAML_REQUIRED_VERSION=0.2.5
|
||||
+ LIBYAML_REQUIRED_VERSION=0.1.7
|
||||
|
||||
|
||||
|
||||
@@ -22358,7 +22358,7 @@ printf "%s\n" "found, but $xdt_cv_versio
|
||||
|
||||
echo "*** The required package yaml-0.1 was found on your system,"
|
||||
echo "*** but the installed version ($xdt_cv_version) is too old."
|
||||
- echo "*** Please upgrade yaml-0.1 to atleast version 0.2.5, or adjust"
|
||||
+ echo "*** Please upgrade yaml-0.1 to atleast version 0.1.7, or adjust"
|
||||
echo "*** the PKG_CONFIG_PATH environment variable if you installed"
|
||||
echo "*** the new version of the package in a nonstandard prefix so"
|
||||
echo "*** pkg-config is able to find it."
|
||||
@@ -22370,7 +22370,7 @@ printf "%s\n" "not found" >&6; }
|
||||
|
||||
|
||||
echo "*** The required package yaml-0.1 was not found on your system."
|
||||
- echo "*** Please install yaml-0.1 (atleast version 0.2.5) or adjust"
|
||||
+ echo "*** Please install yaml-0.1 (atleast version 0.1.7) or adjust"
|
||||
echo "*** the PKG_CONFIG_PATH environment variable if you"
|
||||
echo "*** installed the package in a nonstandard prefix so that"
|
||||
echo "*** pkg-config is able to find it."
|
||||
@@ -22388,11 +22388,11 @@ printf "%s\n" "not found" >&6; }
|
||||
|
||||
|
||||
if test x"$xdt_feature_deps_check_only" = x"yes"; then
|
||||
- if ! $PKG_CONFIG --exists "yaml-0.1 >= 0.2.5" >/dev/null 2>&1; then
|
||||
+ if ! $PKG_CONFIG --exists "yaml-0.1 >= 0.1.7" >/dev/null 2>&1; then
|
||||
if test x"$xdt_feature_deps_missing" = x""; then
|
||||
- xdt_feature_deps_missing="yaml-0.1 >= 0.2.5"
|
||||
+ xdt_feature_deps_missing="yaml-0.1 >= 0.1.7"
|
||||
else
|
||||
- xdt_feature_deps_missing="$xdt_feature_deps_missing, yaml-0.1 >= 0.2.5"
|
||||
+ xdt_feature_deps_missing="$xdt_feature_deps_missing, yaml-0.1 >= 0.1.7"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
@@ -22546,9 +22546,9 @@ fi
|
||||
|
||||
|
||||
|
||||
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yaml-0.1 >= 0.2.5" >&5
|
||||
-printf %s "checking for yaml-0.1 >= 0.2.5... " >&6; }
|
||||
- if $PKG_CONFIG "--atleast-version=0.2.5" "yaml-0.1" >/dev/null 2>&1; then
|
||||
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yaml-0.1 >= 0.1.7" >&5
|
||||
+printf %s "checking for yaml-0.1 >= 0.1.7... " >&6; }
|
||||
+ if $PKG_CONFIG "--atleast-version=0.1.7" "yaml-0.1" >/dev/null 2>&1; then
|
||||
LIBYAML_VERSION=`$PKG_CONFIG --modversion "yaml-0.1"`
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBYAML_VERSION" >&5
|
||||
printf "%s\n" "$LIBYAML_VERSION" >&6; }
|
||||
@@ -22565,7 +22565,7 @@ printf %s "checking LIBYAML_LIBS... " >&
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBYAML_LIBS" >&5
|
||||
printf "%s\n" "$LIBYAML_LIBS" >&6; }
|
||||
|
||||
- LIBYAML_REQUIRED_VERSION=0.2.5
|
||||
+ LIBYAML_REQUIRED_VERSION=0.1.7
|
||||
|
||||
|
||||
|
||||
@@ -22594,7 +22594,7 @@ printf "%s\n" "found, but $xdt_cv_versio
|
||||
|
||||
echo "*** The required package yaml-0.1 was found on your system,"
|
||||
echo "*** but the installed version ($xdt_cv_version) is too old."
|
||||
- echo "*** Please upgrade yaml-0.1 to atleast version 0.2.5, or adjust"
|
||||
+ echo "*** Please upgrade yaml-0.1 to atleast version 0.1.7, or adjust"
|
||||
echo "*** the PKG_CONFIG_PATH environment variable if you installed"
|
||||
echo "*** the new version of the package in a nonstandard prefix so"
|
||||
echo "*** pkg-config is able to find it."
|
||||
@@ -22606,7 +22606,7 @@ printf "%s\n" "not found" >&6; }
|
||||
|
||||
|
||||
echo "*** The required package yaml-0.1 was not found on your system."
|
||||
- echo "*** Please install yaml-0.1 (atleast version 0.2.5) or adjust"
|
||||
+ echo "*** Please install yaml-0.1 (atleast version 0.1.7) or adjust"
|
||||
echo "*** the PKG_CONFIG_PATH environment variable if you"
|
||||
echo "*** installed the package in a nonstandard prefix so that"
|
||||
echo "*** pkg-config is able to find it."
|
||||
diff -rup a/meson.build b/meson.build
|
||||
--- a/meson.build 2025-02-17 09:57:17.000000000 +0100
|
||||
+++ b/meson.build 2025-10-22 13:15:38.919268643 +0200
|
||||
@@ -21,7 +21,7 @@ dependency_versions = {
|
||||
'libnotify': '>= 0.4.0',
|
||||
'libx11': '>= 1.6.7',
|
||||
'libxfce4windowing': '>= 4.19.8',
|
||||
- 'libyaml': '>= 0.2.5',
|
||||
+ 'libyaml': '>= 0.1.7',
|
||||
'xfce4': '>= 4.18.0',
|
||||
'xfconf': '>= 4.19.3',
|
||||
'gtk-layer-shell': '>= 0.7.0',
|
||||
|
||||
63
xfdesktop-wayland-get-proper-monitor-name.patch
Normal file
63
xfdesktop-wayland-get-proper-monitor-name.patch
Normal file
@@ -0,0 +1,63 @@
|
||||
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.
|
||||
@@ -1,3 +1,21 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 22 11:13:53 UTC 2025 - Manfred Hollstein <manfred.h@gmx.net>
|
||||
|
||||
- Switch to using meson for building; this allows building this
|
||||
package even in the upcoming development release Xfce-4.21
|
||||
- Refresh 0002-relax-libyaml-version.patch
|
||||
- Remove bcond_with git and related items
|
||||
- Ensure installed icon files land in _datadir/wallpapers/xfce, not
|
||||
in _datadir/backgrounds/xfce which is used by meson
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 15 14:33:48 UTC 2025 - Takashi Iwai <tiwai@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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 17 10:27:20 UTC 2025 - Manfred Hollstein <manfred.h@gmx.net>
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -16,7 +16,6 @@
|
||||
#
|
||||
|
||||
|
||||
%bcond_with git
|
||||
Name: xfdesktop
|
||||
Version: 4.20.1
|
||||
Release: 0
|
||||
@@ -29,18 +28,21 @@ Source0: https://archive.xfce.org/src/xfce/xfdesktop/4.20/%{name}-%{versi
|
||||
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
|
||||
BuildRequires: gcc14
|
||||
%endif
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gettext >= 0.19.8
|
||||
BuildRequires: meson >= 0.56.0
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xfce4-dev-tools
|
||||
BuildRequires: pkgconfig(cairo) >= 1.16
|
||||
BuildRequires: pkgconfig(dbus-glib-1)
|
||||
BuildRequires: pkgconfig(exo-2) >= 0.11.0
|
||||
BuildRequires: pkgconfig(garcon-1) >= 0.6.0
|
||||
BuildRequires: pkgconfig(exo-2) >= 4.18.0
|
||||
BuildRequires: pkgconfig(garcon-1) >= 4.18.0
|
||||
BuildRequires: pkgconfig(garcon-gtk3-1) >= 4.18.0
|
||||
BuildRequires: pkgconfig(gdk-wayland-3.0) >= 3.24.10
|
||||
BuildRequires: pkgconfig(gdk-x11-3.0) >= 3.24.10
|
||||
BuildRequires: pkgconfig(gio-2.0) >= 2.72.0
|
||||
@@ -55,12 +57,12 @@ BuildRequires: pkgconfig(libnotify) >= 0.4.0
|
||||
BuildRequires: pkgconfig(libwnck-3.0) >= 3.14
|
||||
BuildRequires: pkgconfig(libxfce4kbd-private-3) >= 4.18.0
|
||||
BuildRequires: pkgconfig(libxfce4ui-2) >= 4.18.0
|
||||
BuildRequires: pkgconfig(libxfce4util-1.0) >= 4.13.0
|
||||
BuildRequires: pkgconfig(libxfce4util-1.0) >= 4.18.0
|
||||
BuildRequires: pkgconfig(libxfce4windowing-0) >= 4.19.8
|
||||
BuildRequires: pkgconfig(libxfce4windowing-x11-0) >= 4.19.8
|
||||
BuildRequires: pkgconfig(libxfce4windowingui-0) >= 4.19.8
|
||||
BuildRequires: pkgconfig(libxfconf-0) >= 4.19.3
|
||||
BuildRequires: pkgconfig(thunarx-3) >= 4.17.10
|
||||
BuildRequires: pkgconfig(thunarx-3) >= 4.18.0
|
||||
BuildRequires: pkgconfig(x11) >= 1.6.7
|
||||
BuildRequires: pkgconfig(yaml-0.1) >= 0.1.7
|
||||
Provides: xfce4-desktop = %{version}
|
||||
@@ -100,26 +102,29 @@ This package provides the upstream look and feel for the Xfce Desktop Manager.
|
||||
|
||||
%build
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1550
|
||||
export CC=gcc-13
|
||||
export CC=gcc-14
|
||||
%endif
|
||||
%if %{with git}
|
||||
NOCONFIGURE=1 ./autogen.sh
|
||||
%configure \
|
||||
--enable-maintainer-mode
|
||||
--with-default-backdrop-filename=%{_datadir}/wallpapers/xfce/default.wallpaper
|
||||
%else
|
||||
xdt-autogen
|
||||
%configure \
|
||||
--with-default-backdrop-filename=%{_datadir}/wallpapers/xfce/default.wallpaper
|
||||
%endif
|
||||
%make_build
|
||||
%meson \
|
||||
-Ddesktop-menu=enabled \
|
||||
-Ddesktop-icons=true \
|
||||
-Dfile-icons=true \
|
||||
-Dthunarx=enabled \
|
||||
-Dnotifications=enabled \
|
||||
-Dx11=enabled \
|
||||
-Dwayland=enabled \
|
||||
-Ddefault-backdrop-filename=%{_datadir}/wallpapers/xfce/default.wallpaper \
|
||||
-Dtests=false
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
%meson_install
|
||||
|
||||
# default upstream backdrop image
|
||||
ln -s %{_datadir}/wallpapers/xfce/xfce-blue.jpg \
|
||||
%{buildroot}%{_datadir}/wallpapers/xfce/default.wallpaper
|
||||
mkdir -p %{buildroot}%{_datadir}/wallpapers/
|
||||
if [ -d %{buildroot}%{_datadir}/backgrounds/xfce ]; then
|
||||
mv %{buildroot}%{_datadir}/backgrounds/xfce %{buildroot}%{_datadir}/wallpapers
|
||||
fi
|
||||
ln -s xfce-blue.jpg %{buildroot}%{_datadir}/wallpapers/xfce/default.wallpaper
|
||||
|
||||
%suse_update_desktop_file xfce-backdrop-settings
|
||||
|
||||
|
||||
Reference in New Issue
Block a user