git: 939e8ca9ba07 - main - Welcome XFCE 4.20 to the FreeBSD ports tree!

From: Guido Falsi <madpilot_at_FreeBSD.org>
Date: Sat, 21 Dec 2024 20:44:30 UTC
The branch main has been updated by madpilot:

URL: https://cgit.FreeBSD.org/ports/commit/?id=939e8ca9ba0754584bbfe8920007d0cc482b5083

commit 939e8ca9ba0754584bbfe8920007d0cc482b5083
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2024-12-21 20:39:17 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2024-12-21 20:39:17 +0000

    Welcome XFCE 4.20 to the FreeBSD ports tree!
    
    Announcement: https://xfce.org/about/news/?post=1734220800
    
    This release has experimental Wayland support, but not all components
    have been ported, YMMV. From upstream announcement:
    
    Important Notice: Please be aware that the Wayland support in Xfce
    4.20 is experimental. It is recommended for advanced users only,
    as you may encounter bugs and experience incomplete functionality.
    Proceed with caution!
    
    Highlight of this commit:
    
    - Adding new port x11/libxfce4windowing
    - Changing some WWW links to XFCE project gitlab
    - Cleaned up Makefiles
    - Remove unneeded intltool dependencies
    - Added WAYLAND option where applicable, enabled by default
    
    Many thanks to Olivier Duchateau <duchateau.olivier@gmail.com> who
    provided a set of patches I started work from.
    
    PR:             283345
---
 Mk/Uses/xfce.mk                                    |   6 +-
 audio/xfce4-pulseaudio-plugin/Makefile             |  28 +++--
 deskutils/xfce4-notifyd/Makefile                   |   8 +-
 deskutils/xfce4-tumbler/Makefile                   |  41 ++++---
 deskutils/xfce4-tumbler/distinfo                   |   6 +-
 devel/xfce4-dev-tools/Makefile                     |  18 +--
 devel/xfce4-dev-tools/distinfo                     |   6 +-
 devel/xfce4-dev-tools/pkg-plist                    |   4 +-
 misc/xfce4-appfinder/Makefile                      |  16 +--
 misc/xfce4-appfinder/distinfo                      |   6 +-
 sysutils/garcon/Makefile                           |  14 +--
 sysutils/garcon/distinfo                           |   6 +-
 sysutils/garcon/pkg-plist                          |   1 +
 sysutils/xfce4-battery-plugin/Makefile             |  20 ++--
 sysutils/xfce4-cpugraph-plugin/Makefile            |   6 +-
 sysutils/xfce4-fsguard-plugin/Makefile             |   6 +-
 sysutils/xfce4-genmon-plugin/Makefile              |   6 +-
 sysutils/xfce4-mount-plugin/Makefile               |   7 +-
 sysutils/xfce4-netload-plugin/Makefile             |   6 +-
 sysutils/xfce4-places-plugin/Makefile              |   4 +-
 sysutils/xfce4-power-manager/Makefile              |  26 ++--
 sysutils/xfce4-power-manager/distinfo              |   6 +-
 ...ins_power-manager-plugin_power-manager-button.c |  10 --
 .../files/patch-src_xfpm-backlight-helper.c        |  21 ++--
 .../files/patch-src_xfpm-dpms.c                    |  28 +++--
 sysutils/xfce4-settings/Makefile                   |  42 ++++---
 sysutils/xfce4-settings/distinfo                   |   6 +-
 .../files/patch-xfsettingsd_gtk-settings.c         |  13 ++
 sysutils/xfce4-settings/pkg-plist                  | 131 +++++++++++----------
 sysutils/xfce4-systemload-plugin/Makefile          |  14 +--
 sysutils/xfce4-wavelan-plugin/Makefile             |   8 +-
 x11-fm/thunar/Makefile                             |  38 +++---
 x11-fm/thunar/distinfo                             |   6 +-
 x11-fm/thunar/files/patch-Makefile.in              | 115 ++++++++++++++++++
 x11-fm/thunar/pkg-plist                            |   1 -
 x11-wm/xfce4-desktop/Makefile                      |  39 +++---
 x11-wm/xfce4-desktop/distinfo                      |   6 +-
 x11-wm/xfce4-desktop/pkg-plist                     |  12 +-
 x11-wm/xfce4-panel-profiles/Makefile               |   8 +-
 x11-wm/xfce4-panel/Makefile                        |  21 ++--
 x11-wm/xfce4-panel/distinfo                        |   6 +-
 x11-wm/xfce4-session/Makefile                      |  22 ++--
 x11-wm/xfce4-session/distinfo                      |   6 +-
 .../files/patch-scripts_xscreensaver.desktop.in    |   7 --
 x11-wm/xfce4-session/files/pkg-message.in          |  29 -----
 x11-wm/xfce4-session/pkg-plist                     |   4 +-
 x11-wm/xfce4-wm/Makefile                           |  13 +-
 x11-wm/xfce4-wm/distinfo                           |   6 +-
 x11-wm/xfce4-wm/pkg-plist                          |   1 +
 x11-wm/xfce4/Makefile                              |   3 +-
 x11/Makefile                                       |   1 +
 x11/libexo/Makefile                                |  25 ++--
 x11/libexo/distinfo                                |   6 +-
 x11/libexo/pkg-plist                               |   1 +
 x11/libxfce4menu/Makefile                          |  23 ++--
 x11/libxfce4menu/distinfo                          |   6 +-
 x11/libxfce4menu/files/patch-xfce4-about_main.c    |  34 ++++++
 .../files/patch-xfce4-about_system-info.c          |  32 +++++
 x11/libxfce4menu/pkg-plist                         |   2 +
 x11/libxfce4util/Makefile                          |  20 ++--
 x11/libxfce4util/distinfo                          |   6 +-
 x11/libxfce4util/pkg-plist                         |   4 +
 x11/libxfce4windowing/Makefile                     |  40 +++++++
 x11/libxfce4windowing/distinfo                     |   3 +
 x11/libxfce4windowing/pkg-descr                    |   3 +
 x11/libxfce4windowing/pkg-plist                    |  69 +++++++++++
 x11/xfce4-conf/Makefile                            |  24 ++--
 x11/xfce4-conf/distinfo                            |   6 +-
 x11/xfce4-conf/files/patch-xfconfd_Makefile.in     | 113 ++++++++++++++++++
 x11/xfce4-conf/pkg-plist                           |   1 +
 x11/xfce4-dashboard/Makefile                       |  14 +--
 x11/xfce4-goodies/Makefile                         |   3 +-
 x11/xfce4-screensaver/Makefile                     |  11 +-
 x11/xfce4-screenshooter-plugin/Makefile            |  16 +--
 x11/xfce4-terminal/Makefile                        |  10 +-
 x11/xfce4-verve-plugin/Makefile                    |  12 +-
 x11/xfce4-windowck-plugin/Makefile                 |  15 ++-
 77 files changed, 900 insertions(+), 463 deletions(-)

diff --git a/Mk/Uses/xfce.mk b/Mk/Uses/xfce.mk
index 506c7b1bf753..2cb800698405 100644
--- a/Mk/Uses/xfce.mk
+++ b/Mk/Uses/xfce.mk
@@ -13,7 +13,7 @@
 _INCLUDE_USES_XFCE_Mk=	yes
 _USES_POST+=	xfce
 
-_USE_XFCE_ALL=	garcon libexo libmenu libutil panel thunar xfconf
+_USE_XFCE_ALL=	garcon libexo libmenu libutil panel thunar xdt xfconf windowing
 
 xfce_ARGS?=	# empty
 
@@ -37,8 +37,12 @@ libutil_LIB_DEPENDS=	libxfce4util.so:x11/libxfce4util
 thunar_LIB_DEPENDS=	libthunarx-3.so:x11-fm/thunar
 thunar_RUN_DEPENDS=	Thunar:x11-fm/thunar
 
+xdt_BUILD_DEPENDS=	xfce4-dev-tools>=4.19.4:devel/xfce4-dev-tools
+
 xfconf_LIB_DEPENDS=	libxfconf-0.so:x11/xfce4-conf
 
+windowing_LIB_DEPENDS=	libxfce4windowing-0.so:x11/libxfce4windowing
+
 .  if defined(USE_XFCE)
 # First, expand all USE_XFCE_REQ recursively.
 .    for comp in ${_USE_XFCE_ALL}
diff --git a/audio/xfce4-pulseaudio-plugin/Makefile b/audio/xfce4-pulseaudio-plugin/Makefile
index d719ea73e662..b9e7587a4465 100644
--- a/audio/xfce4-pulseaudio-plugin/Makefile
+++ b/audio/xfce4-pulseaudio-plugin/Makefile
@@ -6,38 +6,40 @@ DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Panel plugin for controlling PulseAudio mixer
-WWW=		https://goodies.xfce.org/projects/panel-plugins/xfce4-pulseaudio-plugin
+WWW=		https://gitlab.xfce.org/panel-plugins/xfce4-pulseaudio-plugin
 
 LICENSE=	GPLv2
 
-LIB_DEPENDS=	libpulse-mainloop-glib.so:audio/pulseaudio \
+LIB_DEPENDS=	libcanberra.so:audio/libcanberra \
+		libharfbuzz.so:print/harfbuzz \
 		libnotify.so:devel/libnotify \
-		libharfbuzz.so:print/harfbuzz
+		libpulse-mainloop-glib.so:audio/pulseaudio
 RUN_DEPENDS=	pavucontrol>=2.0:audio/pavucontrol
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
 		tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool libwnck3
-USE_XFCE=	libexo panel xfconf
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 libwnck3
+USE_XFCE=	libexo panel windowing xfconf
 USE_XORG=	x11
 
 GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--enable-libxfce4windowing \
+		--enable-mpris2 \
+		--enable-wnck \
+		--with-mixer-command=${LOCALBASE}/bin/pavucontrol
 INSTALL_TARGET=	install-strip
 
-CONFIGURE_ARGS=--with-mixer-command=${LOCALBASE}/bin/pavucontrol \
-		--enable-mpris2 \
-		--enable-wnck
 CFLAGS+=	-Wno-return-type
 
-OPTIONS_DEFINE=			KEYBINDER NLS
-OPTIONS_DEFAULT=		KEYBINDER
-OPTIONS_SUB=			yes
+OPTIONS_DEFINE=		KEYBINDER NLS
+OPTIONS_DEFAULT=	KEYBINDER
+OPTIONS_SUB=		yes
 
 KEYBINDER_DESC=			Keyboard shortcuts
 KEYBINDER_LIB_DEPENDS=		libkeybinder-3.0.so:x11/keybinder-gtk3
 KEYBINDER_CONFIGURE_ENABLE=	keybinder
 
-NLS_CONFIGURE_ENABLE=		nls
-NLS_USES=			gettext-runtime
+NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 .include <bsd.port.mk>
diff --git a/deskutils/xfce4-notifyd/Makefile b/deskutils/xfce4-notifyd/Makefile
index 8fa1174741b3..38ca7a281b54 100644
--- a/deskutils/xfce4-notifyd/Makefile
+++ b/deskutils/xfce4-notifyd/Makefile
@@ -5,6 +5,7 @@
 
 PORTNAME=	xfce4-notifyd
 PORTVERSION=	0.9.6
+PORTREVISION=	1
 CATEGORIES=	deskutils xfce
 MASTER_SITES=	XFCE/apps
 DIST_SUBDIR=	xfce4
@@ -18,14 +19,13 @@ LICENSE=	GPLv3
 LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz \
 		libnotify.so:devel/libnotify
 
-USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
-		sqlite tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
+USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig sqlite \
+		tar:bzip2 xfce xorg
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30
 USE_XFCE=	libmenu panel xfconf
 USE_XORG=	ice sm x11
 
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
 CONFIGURE_ARGS=	--disable-systemd
 INSTALL_TARGET=	install-strip
 
diff --git a/deskutils/xfce4-tumbler/Makefile b/deskutils/xfce4-tumbler/Makefile
index 3072a6fc937c..829a74107a17 100644
--- a/deskutils/xfce4-tumbler/Makefile
+++ b/deskutils/xfce4-tumbler/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	tumbler
-PORTVERSION=	4.18.2
-PORTREVISION=	2
+PORTVERSION=	4.20.0
 CATEGORIES=	deskutils xfce
 MASTER_SITES=	XFCE
 PKGNAMEPREFIX=	xfce4-
@@ -18,55 +17,55 @@ LIB_DEPENDS=	libpng16.so:graphics/png
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool \
 		localbase:ldflags pathfix pkgconfig tar:bzip2 xfce
-USE_GNOME=	cairo gdkpixbuf2 glib20 intltool libgsf
-USE_XFCE=	libutil
+USE_GNOME=	cairo gdkpixbuf2 glib20 libgsf
 USE_LDCONFIG=	yes
+USE_XFCE=	libutil
 
 GNU_CONFIGURE=	yes
-INSTALL_TARGET=	install-strip
-SUB_FILES=	pkg-message
-CONFIGURE_ARGS=	--enable-xdg-cache \
+CONFIGURE_ARGS=	--disable-gtk-doc-html \
 		--enable-pixbuf-thumbnailer \
-		--disable-gtk-doc-html \
+		--enable-xdg-cache \
 		--without-html-dir
+INSTALL_TARGET=	install-strip
 
 PORTSCOUT=	limitw:1,even
 
-OPTIONS_DEFINE=	COVER EPUB FFMPEG FONTS GSTREAMER JPEG \
-		NLS ODF POPPLER
-OPTIONS_DEFAULT=EPUB FONTS GSTREAMER JPEG ODF POPPLER
-OPTIONS_SUB=	yes
+SUB_FILES=	pkg-message
+
+OPTIONS_DEFINE=		COVER EPUB FFMPEG FONTS GSTREAMER JPEG NLS ODF POPPLER
+OPTIONS_DEFAULT=	EPUB FONTS GSTREAMER JPEG ODF POPPLER
+OPTIONS_SUB=		yes
 
 COVER_DESC=	Open Movie Database plugin (check pkg-message)
 EPUB_DESC=	EPUB thumbnailer plugin
 FONTS_DESC=	Fonts thumbnailer plugin
 GSTREAMER_DESC=	GStreamer thumbnailer plugin
 
-COVER_CONFIGURE_ENABLE=	cover-thumbnailer
 COVER_LIB_DEPENDS=	libcurl.so:ftp/curl
+COVER_CONFIGURE_ENABLE=	cover-thumbnailer
 
-EPUB_CONFIGURE_ENABLE=	gepub-thumbnailer
 EPUB_LIB_DEPENDS=	libgepub-0.6.so:textproc/libgepub
+EPUB_CONFIGURE_ENABLE=	gepub-thumbnailer
 
+FFMPEG_LIB_DEPENDS=		libffmpegthumbnailer.so:multimedia/ffmpegthumbnailer
 FFMPEG_CONFIGURE_ENABLE=	ffmpeg-thumbnailer
-FFMPEG_LIB_DEPENDS=	libffmpegthumbnailer.so:multimedia/ffmpegthumbnailer
 
-FONTS_CONFIGURE_ENABLE=	font-thumbnailer
 FONTS_LIB_DEPENDS=	libfreetype.so:print/freetype2
+FONTS_CONFIGURE_ENABLE=	font-thumbnailer
 
+GSTREAMER_USES=			gstreamer
 GSTREAMER_CONFIGURE_ENABLE=	gstreamer-thumbnailer
-GSTREAMER_USES=		gstreamer
 
-JPEG_CONFIGURE_ENABLE=	jpeg-thumbnailer
 JPEG_USES=		jpeg
+JPEG_CONFIGURE_ENABLE=	jpeg-thumbnailer
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
+ODF_USE=		GNOME=libgsf
 ODF_CONFIGURE_ENABLE=	odf-thumbnailer
-ODF_USE=		gnome=libgsf
 
+POPPLER_LIB_DEPENDS=		libpoppler-glib.so:graphics/poppler-glib
 POPPLER_CONFIGURE_ENABLE=	poppler-thumbnailer
-POPPLER_LIB_DEPENDS=	libpoppler-glib.so:graphics/poppler-glib
 
 .include <bsd.port.mk>
diff --git a/deskutils/xfce4-tumbler/distinfo b/deskutils/xfce4-tumbler/distinfo
index 060a9f8a6f0c..aa994f442c6d 100644
--- a/deskutils/xfce4-tumbler/distinfo
+++ b/deskutils/xfce4-tumbler/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1701362474
-SHA256 (xfce4/tumbler-4.18.2.tar.bz2) = b530eec635eac7f898c0d8d3a3ff79d76a145d3bed3e786d54b1ec058132be7a
-SIZE (xfce4/tumbler-4.18.2.tar.bz2) = 619513
+TIMESTAMP = 1734285510
+SHA256 (xfce4/tumbler-4.20.0.tar.bz2) = 74b1647d55926547e98bfac70838ff63c5a84299a5e10c81c38d1fab90e25880
+SIZE (xfce4/tumbler-4.20.0.tar.bz2) = 706804
diff --git a/devel/xfce4-dev-tools/Makefile b/devel/xfce4-dev-tools/Makefile
index 0c38f32c333d..fb4ac4c9d839 100644
--- a/devel/xfce4-dev-tools/Makefile
+++ b/devel/xfce4-dev-tools/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	xfce4-dev-tools
-PORTVERSION=	4.18.1
-PORTREVISION=	1
+PORTVERSION=	4.20.0
 CATEGORIES=	devel xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
@@ -12,18 +11,21 @@ WWW=		https://www.xfce.org/
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
+BUILD_DEPENDS=	gsed>0:textproc/gsed \
+		meson>0:devel/meson
 RUN_DEPENDS=	autoconf>=2.69:devel/autoconf \
 		automake>=1.15:devel/automake \
-		libtoolize:devel/libtool \
-		bash:shells/bash
+		bash:shells/bash \
+		libtoolize:devel/libtool
 
-USES=		gnome pkgconfig shebangfix tar:bzip2 xfce
+USES=		gmake gnome pkgconfig python:env shebangfix tar:bzip2 xfce
 USE_GNOME=	glib20 libxslt
-SHEBANG_FILES=	helpers/xfce-build helpers/xfce-do-release \
-		helpers/xfce-get-translations
+SHEBANG_FILES=	helpers/xfce-build helpers/xfce-do-release.in \
+		helpers/xfce-get-translations \
+		scripts/xdt-check-abi \
+		scripts/xdt-gen-visibility
 
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
 
 PORTSCOUT=	limitw:1,even
 
diff --git a/devel/xfce4-dev-tools/distinfo b/devel/xfce4-dev-tools/distinfo
index 81d1d01ff756..f212a0abb97e 100644
--- a/devel/xfce4-dev-tools/distinfo
+++ b/devel/xfce4-dev-tools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1697615600
-SHA256 (xfce4/xfce4-dev-tools-4.18.1.tar.bz2) = 812cabe7048922ebc176564b73c3e427e467c9566365ee3e54c0487d305a7681
-SIZE (xfce4/xfce4-dev-tools-4.18.1.tar.bz2) = 363652
+TIMESTAMP = 1734293427
+SHA256 (xfce4/xfce4-dev-tools-4.20.0.tar.bz2) = 1fba39a08a0ecc771eaa3a3b6e4272a4f0b9e7c67d0f66e780cd6090cd4466aa
+SIZE (xfce4/xfce4-dev-tools-4.20.0.tar.bz2) = 380344
diff --git a/devel/xfce4-dev-tools/pkg-plist b/devel/xfce4-dev-tools/pkg-plist
index 95f1deaf9098..d6f0b34b9d6c 100644
--- a/devel/xfce4-dev-tools/pkg-plist
+++ b/devel/xfce4-dev-tools/pkg-plist
@@ -1,12 +1,14 @@
 bin/xdt-autogen
+bin/xdt-check-abi
 bin/xdt-csource
+bin/xdt-gen-visibility
 bin/xfce-build
 bin/xfce-do-release
 bin/xfce-get-release-notes
 bin/xfce-get-translations
 bin/xfce-update-news
-share/man/man1/xdt-csource.1.gz
 share/aclocal/xdt-depends.m4
 share/aclocal/xdt-features.m4
 share/aclocal/xdt-i18n.m4
 share/aclocal/xdt-version.m4
+share/man/man1/xdt-csource.1.gz
diff --git a/misc/xfce4-appfinder/Makefile b/misc/xfce4-appfinder/Makefile
index 90ad5e0ef2d2..4f82c859f499 100644
--- a/misc/xfce4-appfinder/Makefile
+++ b/misc/xfce4-appfinder/Makefile
@@ -1,28 +1,28 @@
 PORTNAME=	xfce4-appfinder
-PORTVERSION=	4.18.1
-PORTREVISION=	2
+PORTVERSION=	4.20.0
 CATEGORIES=	misc xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Application launcher and finder
-WWW=		https://www.xfce.org/
+WWW=		https://gitlab.xfce.org/xfce/xfce4-appfinder
 
 LICENSE=	GPLv2
 
-USES=		compiler:c11 gettext-tools gmake gnome pkgconfig tar:bzip2 xfce
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
+USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
+		tar:bzip2 xfce
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30
 USE_XFCE=	garcon libmenu xfconf
 
 GNU_CONFIGURE=	yes
 
 PORTSCOUT=	limitw:1,even
 
-OPTIONS_DEFINE=		NLS
-OPTIONS_SUB=		yes
+OPTIONS_DEFINE=	NLS
+OPTIONS_SUB=	yes
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 .include <bsd.port.mk>
diff --git a/misc/xfce4-appfinder/distinfo b/misc/xfce4-appfinder/distinfo
index ee476a88042b..5a554234e071 100644
--- a/misc/xfce4-appfinder/distinfo
+++ b/misc/xfce4-appfinder/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1692735376
-SHA256 (xfce4/xfce4-appfinder-4.18.1.tar.bz2) = 9854ea653981be544ad545850477716c4c92d0c43eb47b75f78534837c0893f9
-SIZE (xfce4/xfce4-appfinder-4.18.1.tar.bz2) = 564600
+TIMESTAMP = 1734293316
+SHA256 (xfce4/xfce4-appfinder-4.20.0.tar.bz2) = 82ca82f77dc83e285db45438c2fe31df445148aa986ffebf2faabee4af9e7304
+SIZE (xfce4/xfce4-appfinder-4.20.0.tar.bz2) = 732262
diff --git a/sysutils/garcon/Makefile b/sysutils/garcon/Makefile
index 411ea04879b9..0301ef115b35 100644
--- a/sysutils/garcon/Makefile
+++ b/sysutils/garcon/Makefile
@@ -1,12 +1,12 @@
 PORTNAME=	garcon
-PORTVERSION=	4.18.2
+PORTVERSION=	4.20.0
 CATEGORIES=	sysutils xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Freedesktop compliant menu library
-WWW=		https://www.xfce.org/
+WWW=		https://gitlab.xfce.org/xfce/garcon
 
 # garcon's source code is licensed under GPLv2, while its
 # documentation is under GFDL 1.1.
@@ -16,13 +16,13 @@ LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool pathfix \
 		pkgconfig tar:bzip2 xfce
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
-USE_XFCE=	libmenu
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30
 USE_LDCONFIG=	yes
+USE_XFCE=	libmenu
 
 GNU_CONFIGURE=	yes
-INSTALL_TARGET=	install-strip
 CONFIGURE_ARGS=	--without-html-dir
+INSTALL_TARGET=	install-strip
 
 PORTSCOUT=	limitw:1,even
 
@@ -32,11 +32,11 @@ OPTIONS_SUB=		yes
 
 GIR_DESC=	Use Gobject Introspection
 
-GIR_USE=	gnome=introspection:build
+GIR_USE=		GNOME=introspection:build
 GIR_CONFIGURE_ON=	--enable-introspection=yes
 GIR_CONFIGURE_OFF=	--enable-introspection=no
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 .include <bsd.port.mk>
diff --git a/sysutils/garcon/distinfo b/sysutils/garcon/distinfo
index 9e5a6f5fa376..aa0390bae4fc 100644
--- a/sysutils/garcon/distinfo
+++ b/sysutils/garcon/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1707162193
-SHA256 (xfce4/garcon-4.18.2.tar.bz2) = 1b8c9292e131968fbfc8987bbc62c5ba47186dd45ef4e47c5d8c5088bb2d434d
-SIZE (xfce4/garcon-4.18.2.tar.bz2) = 579345
+TIMESTAMP = 1734285008
+SHA256 (xfce4/garcon-4.20.0.tar.bz2) = 7fb8517c12309ca4ddf8b42c34bc0c315e38ea077b5442bfcc4509415feada8f
+SIZE (xfce4/garcon-4.20.0.tar.bz2) = 659796
diff --git a/sysutils/garcon/pkg-plist b/sysutils/garcon/pkg-plist
index bcce72a6a758..3880393ac5a3 100644
--- a/sysutils/garcon/pkg-plist
+++ b/sysutils/garcon/pkg-plist
@@ -96,6 +96,7 @@ share/icons/hicolor/64x64/apps/org.xfce.garcon.png
 %%NLS%%share/locale/pt/LC_MESSAGES/garcon.mo
 %%NLS%%share/locale/ro/LC_MESSAGES/garcon.mo
 %%NLS%%share/locale/ru/LC_MESSAGES/garcon.mo
+%%NLS%%share/locale/si/LC_MESSAGES/garcon.mo
 %%NLS%%share/locale/sk/LC_MESSAGES/garcon.mo
 %%NLS%%share/locale/sl/LC_MESSAGES/garcon.mo
 %%NLS%%share/locale/sq/LC_MESSAGES/garcon.mo
diff --git a/sysutils/xfce4-battery-plugin/Makefile b/sysutils/xfce4-battery-plugin/Makefile
index 4bf0d2b10f43..99b2d943dbcb 100644
--- a/sysutils/xfce4-battery-plugin/Makefile
+++ b/sysutils/xfce4-battery-plugin/Makefile
@@ -11,24 +11,24 @@ WWW=		https://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin
 
 LICENSE=	GPLv2
 
-LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
-
 ONLY_FOR_ARCHS=	amd64 i386
 
-USES=		alias gettext-tools gmake gnome libtool pkgconfig \
-		tar:bzip2 xfce
-USE_GNOME=	cairo gdkpixbuf2 gtk30 glib20 intltool
-USE_XFCE=	libmenu panel
+LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
+
+USES=		alias gettext-tools gmake gnome libtool pkgconfig tar:bzip2 \
+		xfce
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
 USE_LDCONFIG=	yes
+USE_XFCE=	libmenu panel
 
-SSP_UNSAFE=	yes
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
+SSP_UNSAFE=	yes
 
-OPTIONS_DEFINE=		NLS
-OPTIONS_SUB=		yes
+OPTIONS_DEFINE=	NLS
+OPTIONS_SUB=	yes
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 .include <bsd.port.mk>
diff --git a/sysutils/xfce4-cpugraph-plugin/Makefile b/sysutils/xfce4-cpugraph-plugin/Makefile
index 0c1b2dd52ba1..cef5b1bb3d8b 100644
--- a/sysutils/xfce4-cpugraph-plugin/Makefile
+++ b/sysutils/xfce4-cpugraph-plugin/Makefile
@@ -22,10 +22,10 @@ USE_XFCE=	libmenu panel xfconf
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
 
-OPTIONS_DEFINE=		NLS
-OPTIONS_SUB=		yes
+OPTIONS_DEFINE=	NLS
+OPTIONS_SUB=	yes
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 .include <bsd.port.mk>
diff --git a/sysutils/xfce4-fsguard-plugin/Makefile b/sysutils/xfce4-fsguard-plugin/Makefile
index 454ce936a34d..f412b88f4143 100644
--- a/sysutils/xfce4-fsguard-plugin/Makefile
+++ b/sysutils/xfce4-fsguard-plugin/Makefile
@@ -23,10 +23,10 @@ USE_XORG=	x11
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
 
-OPTIONS_DEFINE=		NLS
-OPTIONS_SUB=		yes
+OPTIONS_DEFINE=	NLS
+OPTIONS_SUB=	yes
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 .include <bsd.port.mk>
diff --git a/sysutils/xfce4-genmon-plugin/Makefile b/sysutils/xfce4-genmon-plugin/Makefile
index e61edb38402a..c8d715779003 100644
--- a/sysutils/xfce4-genmon-plugin/Makefile
+++ b/sysutils/xfce4-genmon-plugin/Makefile
@@ -21,10 +21,10 @@ USE_XFCE=	libmenu panel xfconf
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
 
-OPTIONS_DEFINE=		NLS
-OPTIONS_SUB=		yes
+OPTIONS_DEFINE=	NLS
+OPTIONS_SUB=	yes
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 .include <bsd.port.mk>
diff --git a/sysutils/xfce4-mount-plugin/Makefile b/sysutils/xfce4-mount-plugin/Makefile
index 4c9e7c0e8312..bf0c0ff7259d 100644
--- a/sysutils/xfce4-mount-plugin/Makefile
+++ b/sysutils/xfce4-mount-plugin/Makefile
@@ -16,16 +16,15 @@ LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
 USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
 		tar:bzip2 xfce
 USE_GNOME=	cairo gdkpixbuf2 gtk30 intltool
-USE_LDCONFIG=	yes
 USE_XFCE=	libmenu panel
 
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
 
-OPTIONS_DEFINE=		NLS
-OPTIONS_SUB=		yes
+OPTIONS_DEFINE=	NLS
+OPTIONS_SUB=	yes
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 .include <bsd.port.mk>
diff --git a/sysutils/xfce4-netload-plugin/Makefile b/sysutils/xfce4-netload-plugin/Makefile
index ca55dcc59057..5a43f318f26b 100644
--- a/sysutils/xfce4-netload-plugin/Makefile
+++ b/sysutils/xfce4-netload-plugin/Makefile
@@ -22,11 +22,11 @@ USE_XFCE=	libmenu panel
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
 
-OPTIONS_DEFINE=		NLS
-OPTIONS_SUB=		yes
+OPTIONS_DEFINE=	NLS
+OPTIONS_SUB=	yes
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
 post-patch:
 	@${REINPLACE_CMD} -e 's/ || defined \{0,1\}(__FreeBSD_kernel__)//' \
diff --git a/sysutils/xfce4-places-plugin/Makefile b/sysutils/xfce4-places-plugin/Makefile
index 6575d4d52d77..310569fce28f 100644
--- a/sysutils/xfce4-places-plugin/Makefile
+++ b/sysutils/xfce4-places-plugin/Makefile
@@ -12,8 +12,8 @@ WWW=		https://goodies.xfce.org/projects/panel-plugins/xfce4-places-plugin
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libnotify.so:devel/libnotify \
-		libharfbuzz.so:print/harfbuzz
+LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz \
+		libnotify.so:devel/libnotify
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
 		tar:bzip2 xfce xorg
diff --git a/sysutils/xfce4-power-manager/Makefile b/sysutils/xfce4-power-manager/Makefile
index 841fcfbb036e..59b806e9b0cf 100644
--- a/sysutils/xfce4-power-manager/Makefile
+++ b/sysutils/xfce4-power-manager/Makefile
@@ -1,39 +1,45 @@
 PORTNAME=	xfce4-power-manager
-PORTVERSION=	4.18.4
+PORTVERSION=	4.20.0
 CATEGORIES=	sysutils xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Power manager for the Xfce Desktop
-WWW=		https://goodies.xfce.org/projects/applications/xfce4-power-manager
+WWW=		https://gitlab.xfce.org/xfce/xfce4-power-manager
 
 LICENSE=	GPLv2
 
-LIB_DEPENDS=	libnotify.so:devel/libnotify \
-		libupower-glib.so:sysutils/upower \
-		libharfbuzz.so:print/harfbuzz
+BUILD_DEPENDS=	wayland-protocols>0:graphics/wayland-protocols
+LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz \
+		libnotify.so:devel/libnotify \
+		libpolkit-gobject-1.so:sysutils/polkit \
+		libupower-glib.so:sysutils/upower
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
 		tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30
 USE_XFCE=	libmenu panel xfconf
-USE_XORG=	ice sm xrandr x11 xext xtst xscrnsaver
+USE_XORG=	ice sm x11 xext xrandr xscrnsaver xtst
 
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
 CONFIGURE_ARGS=	--disable-network-manager \
 		--enable-polkit \
+		--enable-x11 \
 		--enable-xfce4panel
 INSTALL_TARGET=	install-strip
 
 PORTSCOUT=	limitw:1,even
 
-OPTIONS_DEFINE=		NLS
+OPTIONS_DEFINE=		NLS WAYLAND
+OPTIONS_DEFAULT=	WAYLAND
 OPTIONS_SUB=		yes
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
+
+WAYLAND_LIB_DEPENDS=		libwayland-client.so:graphics/wayland
+WAYLAND_CONFIGURE_ENABLE=	wayland
 
 .include <bsd.port.pre.mk>
 
diff --git a/sysutils/xfce4-power-manager/distinfo b/sysutils/xfce4-power-manager/distinfo
index 4bfe62d29ecd..5317293442e1 100644
--- a/sysutils/xfce4-power-manager/distinfo
+++ b/sysutils/xfce4-power-manager/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1717950256
-SHA256 (xfce4/xfce4-power-manager-4.18.4.tar.bz2) = 76918f7bdcd936dbbf20efd9221a33be0cd504c7d7ffce792bace3c720f3d874
-SIZE (xfce4/xfce4-power-manager-4.18.4.tar.bz2) = 1241669
+TIMESTAMP = 1734293718
+SHA256 (xfce4/xfce4-power-manager-4.20.0.tar.bz2) = 971391cef63352833bdd92df28957392e17e1f2b3d486c0f57294fd204d6ed29
+SIZE (xfce4/xfce4-power-manager-4.20.0.tar.bz2) = 1523787
diff --git a/sysutils/xfce4-power-manager/files/patch-panel-plugins_power-manager-plugin_power-manager-button.c b/sysutils/xfce4-power-manager/files/patch-panel-plugins_power-manager-plugin_power-manager-button.c
deleted file mode 100644
index 0c4ad2ae702d..000000000000
--- a/sysutils/xfce4-power-manager/files/patch-panel-plugins_power-manager-plugin_power-manager-button.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- panel-plugins/power-manager-plugin/power-manager-button.c.orig	2019-05-17 13:43:56 UTC
-+++ panel-plugins/power-manager-plugin/power-manager-button.c
-@@ -510,6 +510,7 @@ power_manager_button_update_device_icon_and_details (P
-          * so we can disconnect it later */
-         battery_device->img = gtk_image_new_from_pixbuf (battery_device->pix);
- 
-+        g_object_ref (battery_device->img);
- G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-         gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(battery_device->menu_item), battery_device->img);
- G_GNUC_END_IGNORE_DEPRECATIONS
diff --git a/sysutils/xfce4-power-manager/files/patch-src_xfpm-backlight-helper.c b/sysutils/xfce4-power-manager/files/patch-src_xfpm-backlight-helper.c
index 690e60d19477..3fb76b17c097 100644
--- a/sysutils/xfce4-power-manager/files/patch-src_xfpm-backlight-helper.c
+++ b/sysutils/xfce4-power-manager/files/patch-src_xfpm-backlight-helper.c
@@ -1,15 +1,15 @@
---- src/xfpm-backlight-helper.c.orig	2020-01-26 23:15:39 UTC
+--- src/xfpm-backlight-helper.c.orig	2024-11-21 06:26:21 UTC
 +++ src/xfpm-backlight-helper.c
-@@ -49,6 +49,8 @@
- #define EXIT_CODE_INVALID_USER    4
- #define EXIT_CODE_NO_BRIGHTNESS_SWITCH  5
+@@ -51,6 +51,8 @@
+ #define EXIT_CODE_INVALID_USER 4
+ #define EXIT_CODE_NO_BRIGHTNESS_SWITCH 5
  
-+#define MAX_DEVICE_NUM      8
++#define MAX_DEVICE_NUM 8
 +
- #if !defined(BACKEND_TYPE_FREEBSD)
- #define BACKLIGHT_SYSFS_LOCATION  "/sys/class/backlight"
- #define BRIGHTNESS_SWITCH_LOCATION  "/sys/module/video/parameters/brightness_switch_enabled"
-@@ -204,19 +206,23 @@ backlight_helper_get_device (void)
+ #ifndef BACKEND_TYPE_FREEBSD
+ #define BACKLIGHT_SYSFS_LOCATION "/sys/class/backlight"
+ #define BRIGHTNESS_SWITCH_LOCATION "/sys/module/video/parameters/brightness_switch_enabled"
+@@ -211,20 +213,24 @@ backlight_helper_get_device (void)
    /* devices in priority order */
    gchar *types[] = { "lcd", "crt", "out", "ext", "tv", NULL };
    gchar *device = NULL;
@@ -19,7 +19,8 @@
 -  device = (gchar *) g_malloc (sizeof (gchar));
 +  device = (gchar *) g_malloc (sizeof (gchar) * 8);
  
-   for (i = 0; types[i] != NULL; i++) {
+   for (i = 0; types[i] != NULL; i++)
+   {
 -    g_snprintf (device, (gulong) strlen (types[i]), "%s0", types[i]);
 +    for (j = 0; j < MAX_DEVICE_NUM; j++) {
 +      g_snprintf (device, 8, "%s%i", types[i], j);
diff --git a/sysutils/xfce4-power-manager/files/patch-src_xfpm-dpms.c b/sysutils/xfce4-power-manager/files/patch-src_xfpm-dpms.c
index 7c959e986df6..1ab28635cb8f 100644
--- a/sysutils/xfce4-power-manager/files/patch-src_xfpm-dpms.c
+++ b/sysutils/xfce4-power-manager/files/patch-src_xfpm-dpms.c
@@ -1,18 +1,20 @@
---- src/xfpm-dpms.c.orig	2020-01-26 23:15:39 UTC
+--- src/xfpm-dpms.c.orig	2024-11-21 06:26:21 UTC
 +++ src/xfpm-dpms.c
-@@ -119,13 +119,13 @@ xfpm_dpms_get_enabled (XfpmDpms *dpms, gboolean *dpms_
- static void
- xfpm_dpms_get_sleep_mode (XfpmDpms *dpms, gboolean *ret_standby_mode)
- {
+@@ -93,7 +93,7 @@ refresh (XfpmDpms *dpms)
+   gboolean enabled;
+   guint off_timeout;
+   guint sleep_timeout;
 -  gchar *sleep_mode;
 +  gchar *sleep_mode = NULL;
  
-   g_object_get (G_OBJECT (dpms->priv->conf),
-                 DPMS_SLEEP_MODE, &sleep_mode,
-                 NULL);
+   if (priv->inhibited)
+   {
+@@ -115,7 +115,7 @@ refresh (XfpmDpms *dpms)
+   g_object_get (G_OBJECT (priv->conf), DPMS_SLEEP_MODE, &sleep_mode, NULL);
  
--  if ( !g_strcmp0 (sleep_mode, "Standby"))
-+  if ( sleep_mode != NULL && !g_strcmp0 (sleep_mode, "Standby"))
-     *ret_standby_mode = TRUE;
-   else
-     *ret_standby_mode = FALSE;
+   XFPM_DPMS_GET_CLASS (dpms)->set_enabled (dpms, TRUE);
+-  XFPM_DPMS_GET_CLASS (dpms)->set_timeouts (dpms, g_strcmp0 (sleep_mode, "Standby") == 0,
++  XFPM_DPMS_GET_CLASS (dpms)->set_timeouts (dpms, sleep_mode != NULL && g_strcmp0 (sleep_mode, "Standby") == 0,
+                                             sleep_timeout * 60, off_timeout * 60);
+ 
+   g_free (sleep_mode);
diff --git a/sysutils/xfce4-settings/Makefile b/sysutils/xfce4-settings/Makefile
index cd0e71495cb7..52b5b9ce2baa 100644
--- a/sysutils/xfce4-settings/Makefile
+++ b/sysutils/xfce4-settings/Makefile
@@ -1,59 +1,63 @@
 PORTNAME=	xfce4-settings
-PORTVERSION=	4.18.6
+PORTVERSION=	4.20.0
 CATEGORIES=	sysutils xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
-COMMENT=	Xfce 4 settings application
-WWW=		https://docs.xfce.org/xfce/xfce4-settings/start
+COMMENT=	Xfce settings management
+WWW=		https://gitlab.xfce.org/xfce/xfce4-settings
 
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
+BUILD_DEPENDS=	hwdata>0:misc/hwdata
 LIB_DEPENDS=	libcolord.so:graphics/colord \
 		libfontconfig.so:x11-fonts/fontconfig \
 		libxklavier.so:x11/libxklavier
+RUN_DEPENDS=	hwdata>0:misc/hwdata
 
 USES=		compiler:c11 desktop-file-utils gettext-tools gmake gnome \
 		libtool pkgconfig python shebangfix tar:bzip2 xfce xorg
-USE_GNOME=	cairo glib20 gdkpixbuf2 gtk30 intltool
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 libxml2:build
 USE_XFCE=	garcon libexo xfconf
 USE_XORG=	x11 xcursor xi xorgproto xrandr
 
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--enable-pluggable-dialogs
 SHEBANG_FILES=	dialogs/mime-settings/helpers/xfce4-compose-mail
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--enable-x11 \
+		--with-pnp-ids-path=${LOCALBASE}/share/hwdata/pnp.ids
+INSTALL_TARGET=	install-strip
 
 PORTSCOUT=	limitw:1,even
 
-OPTIONS_DEFINE=		LIBINPUT NLS NOTIFY UPOWER
-OPTIONS_DEFAULT=	LIBINPUT NOTIFY
+OPTIONS_DEFINE=		LIBINPUT NLS NOTIFY UPOWER WAYLAND
+OPTIONS_DEFAULT=	LIBINPUT NOTIFY UPOWER WAYLAND
 OPTIONS_SUB=		yes
 
-LIBINPUT_DESC=		Libinput support
-UPOWER_DESC=		Power management tasks
+LIBINPUT_DESC=	Libinput support
+UPOWER_DESC=	Power management tasks
 
-LIBINPUT_BUILD_DEPENDS=	${LOCALBASE}/include/xorg/libinput-properties.h:x11-drivers/xf86-input-libinput
+LIBINPUT_BUILD_DEPENDS=		xf86-input-libinput>0:x11-drivers/xf86-input-libinput
 LIBINPUT_CONFIGURE_ENABLE=	xorg-libinput
 
-NLS_CONFIGURE_ENABLE=		nls
-NLS_USES=			gettext-runtime
+NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
-NOTIFY_CONFIGURE_ENABLE=	libnotify
 NOTIFY_LIB_DEPENDS=		libnotify.so:devel/libnotify
+NOTIFY_CONFIGURE_ENABLE=	libnotify
 
-UPOWER_CONFIGURE_ENABLE=	upower-glib
 UPOWER_LIB_DEPENDS=		libupower-glib.so:sysutils/upower
+UPOWER_CONFIGURE_ENABLE=	upower-glib
 
-.if defined(WITH_DEBUG)
-CONFIGURE_ARGS+=	--enable-debug=yes
-.endif
+WAYLAND_LIB_DEPENDS=		libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell \
+				libwayland-client.so:graphics/wayland
+WAYLAND_CONFIGURE_ENABLE=	gtk-layer-shell wayland
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|Rodent|elementary-xfce|g' \
 		${WRKSRC}/dialogs/appearance-settings/main.c
-	@${REINPLACE_CMD} -e 's|IconThemeName" type="empty|IconThemeName" type="string" value="elementary-xfce|' \
+	@${REINPLACE_CMD} -e 's|IconThemeName" type="string" value="Adwaita|IconThemeName" type="string" value="elementary-xfce|' \
 		${WRKSRC}/xfsettingsd/xsettings.xml
 
 .include <bsd.port.mk>
diff --git a/sysutils/xfce4-settings/distinfo b/sysutils/xfce4-settings/distinfo
index 0db3a488dfb8..4cfb959b9314 100644
--- a/sysutils/xfce4-settings/distinfo
+++ b/sysutils/xfce4-settings/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1718135958
-SHA256 (xfce4/xfce4-settings-4.18.6.tar.bz2) = d9a9051b6026edd6766c64bb403b51e9167e4d31e7f1c7f843d3aed19f667bfe
-SIZE (xfce4/xfce4-settings-4.18.6.tar.bz2) = 1560269
+TIMESTAMP = 1734295704
+SHA256 (xfce4/xfce4-settings-4.20.0.tar.bz2) = 23548da3429a296501fbfdbc98a861ee241b9fdd47e8d5de1781f57c6bbce5a9
+SIZE (xfce4/xfce4-settings-4.20.0.tar.bz2) = 2495778
diff --git a/sysutils/xfce4-settings/files/patch-xfsettingsd_gtk-settings.c b/sysutils/xfce4-settings/files/patch-xfsettingsd_gtk-settings.c
new file mode 100644
index 000000000000..f95c843db542
--- /dev/null
+++ b/sysutils/xfce4-settings/files/patch-xfsettingsd_gtk-settings.c
@@ -0,0 +1,13 @@
+--- xfsettingsd/gtk-settings.c.orig	2024-12-01 15:21:41 UTC
++++ xfsettingsd/gtk-settings.c
+@@ -226,8 +226,8 @@ xfce_gtk_settings_helper_init (XfceGtkSettingsHelper *
+     }
+ 
+     net_properties = g_hash_table_new (g_str_hash, g_str_equal);
+-    for (guint i = 0; i < G_N_ELEMENTS (xsettings_properties_Net); i++)
+-        g_hash_table_add (net_properties, (gpointer) xsettings_properties_Net[i]);
++    /*for (guint i = 0; i < G_N_ELEMENTS (xsettings_properties_Net); i++)
++        g_hash_table_add (net_properties, (gpointer) xsettings_properties_Net[i]);*/
+ 
+     helper->gsettings_objs = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref);
+     helper->gsettings_data = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
diff --git a/sysutils/xfce4-settings/pkg-plist b/sysutils/xfce4-settings/pkg-plist
index 9de3b6066372..f40e4c21005d 100644
--- a/sysutils/xfce4-settings/pkg-plist
+++ b/sysutils/xfce4-settings/pkg-plist
@@ -14,6 +14,7 @@ etc/xdg/autostart/xfsettingsd.desktop
 etc/xdg/menus/xfce-settings-manager.menu
 etc/xdg/xfce4/helpers.rc
 etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
+lib/gtk-3.0/modules/libxfsettingsd-gtk-settings-sync.so
 lib/xfce4/settings/appearance-install-theme
 lib/xfce4/xfce4-compose-mail
 share/applications/xfce-display-settings.desktop
@@ -42,11 +43,14 @@ share/icons/hicolor/128x128/apps/org.xfce.settings.manager.png
 share/icons/hicolor/128x128/apps/org.xfce.settings.mouse.png
 share/icons/hicolor/128x128/apps/org.xfce.terminalemulator.png
 share/icons/hicolor/128x128/apps/org.xfce.webbrowser.png
-share/icons/hicolor/128x128/devices/xfce-display-extend.png
-share/icons/hicolor/128x128/devices/xfce-display-external.png
-share/icons/hicolor/128x128/devices/xfce-display-internal.png
+share/icons/hicolor/128x128/devices/xfce-display-extend-down.png
+share/icons/hicolor/128x128/devices/xfce-display-extend-left.png
+share/icons/hicolor/128x128/devices/xfce-display-extend-right.png
+share/icons/hicolor/128x128/devices/xfce-display-extend-up.png
+share/icons/hicolor/128x128/devices/xfce-display-left.png
 share/icons/hicolor/128x128/devices/xfce-display-mirror.png
 share/icons/hicolor/128x128/devices/xfce-display-profile.png
+share/icons/hicolor/128x128/devices/xfce-display-right.png
 share/icons/hicolor/16x16/apps/org.xfce.filemanager.png
 share/icons/hicolor/16x16/apps/org.xfce.mailreader.png
 share/icons/hicolor/16x16/apps/org.xfce.settings.accessibility.png
@@ -112,69 +116,18 @@ share/icons/hicolor/scalable/apps/org.xfce.settings.manager.svg
 share/icons/hicolor/scalable/apps/org.xfce.settings.mouse.svg
*** 1815 LINES SKIPPED ***