diff --git a/Mk/Uses/xfce.mk b/Mk/Uses/xfce.mk
index 506c7b1bf753273e45535acd791d6d91edb3f810..2cb800698405f5205aa9d095d06f4abe0d3c0373 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 d719ea73e662bc0133ddf4a113613c1850a43ef6..b9e7587a446546d61c93914286ff55222b65b5e3 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 8fa1174741b311d1da88a6ba61f80094eedbaecf..38ca7a281b549063cfc9fc01e1618c0e205eb2f0 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 3072a6fc937cd86e386696f1db802c438d3d2668..829a74107a175ecf3e5217dc05d67147ddd9a3b6 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 060a9f8a6f0c002883cd88510cb9d188b765c81e..aa994f442c6d1cdd1eff056e47b08f0585a4f66c 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 0c38f32c333df58970f1ff0eb5c506c600ba1cfa..fb4ac4c9d839b544296ec19a316492a7fe779619 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 81d1d01ff756fa104ff45c26f4072ceda8dc9f53..f212a0abb97e71d9da1eabb50eacf7d2caacf257 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 95f1deaf909859069766bf8c56cbba849e5c50f7..d6f0b34b9d6c5e7eb140446343c475e3353375fc 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 90ad5e0ef2d2b76d29f2bebfd8e8b0fa5db16e29..4f82c859f499ede61a67f636c7d902290c4070f7 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 ee476a88042b71ad7ddafa556bfa3ed8c5c0c698..5a554234e07155f8ee19604ce4f9bf9a84c6cac3 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 411ea04879b963a1fe22bab4c7731665f2a4eb1b..0301ef115b35b38af928940b0788ebad686b6d8c 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 9e5a6f5fa376e992d69f791103d745c0c47a56e5..aa0390bae4fc5e22284a5079f90cde249c62d5d3 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 bcce72a6a7584c3340b93015b69cda5ee9a34f1b..3880393ac5a39b8abb5f0dc891d5fce8dfeafa10 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 4bf0d2b10f436ab82cb0859836c15ed8dd7ed073..99b2d943dbcb5d084da0170de3043cf4bf4d69ed 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 0c1b2dd52ba12eabbb1d39d2b0b4c55998209956..cef5b1bb3d8b05e119ba3ab2382e4a176276d4b8 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 454ce936a34d116068efecea86286e1b69327ea0..f412b88f41437348cb65ecfc0db709876afedd2f 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 e61edb38402afc88e6d497b04e83830982f065a4..c8d715779003cd13182ef4b914254af2c72f1017 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 4c9e7c0e8312ec5fbc61d52cd6356b18b03ecf1b..bf0c0ff7259d1dd17b7cb6bd40c3508edc86f0fb 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 ca55dcc590571c9c7d3f6d51ad4234c73f68e961..5a43f318f26b448c472bc1ecbcb6bf33907058f2 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 6575d4d52d77ea6de6ecd7c09057bed57e2f1a0f..310569fce28f06c212a7d0773ec6f303c5dc2946 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 841fcfbb036e785086ffc3f2e2e5ece332b47115..59b806e9b0cf128320a7c08a73b043bc762b0931 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 4bfe62d29ecd1d24d7bc20f7de96b16fcb630b56..5317293442e102ef723b2ddf73439e74d1f0eab1 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 0c4ad2ae702db719a991302694da38664c252eed..0000000000000000000000000000000000000000
--- 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 690e60d19477dff67ee9190041afec9a87f0f060..3fb76b17c097f9ad80501b287d015259e13b6e34 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 7c959e986df6fc5f4c4708770f112f61266a3adf..1ab28635cb8f887e2b32217ad4d75e4709326a25 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 cd0e71495cb77034f37f50aca8dcad8ecea30d26..52b5b9ce2baa35cbfbd47fcb438186ed40e1eb12 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 0db3a488dfb8e8219b79334a3ffaf3d7a14b24cc..4cfb959b931479f07e276f63912372cc4c457841 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 0000000000000000000000000000000000000000..f95c843db542fe30d47aa3c7377e8b74ee7a598b
--- /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 9de3b6066372cefb1990019945d10b357de853bd..f40e4c21005dd9ff5aa086a86542f21813b77aef 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
 share/icons/hicolor/scalable/apps/org.xfce.terminalemulator.svg
 share/icons/hicolor/scalable/apps/org.xfce.webbrowser.svg
-share/icons/hicolor/scalable/devices/xfce-display-extend.svg
-share/icons/hicolor/scalable/devices/xfce-display-external.svg
-share/icons/hicolor/scalable/devices/xfce-display-internal.svg
+share/icons/hicolor/scalable/devices/xfce-display-extend-down.svg
+share/icons/hicolor/scalable/devices/xfce-display-extend-left.svg
+share/icons/hicolor/scalable/devices/xfce-display-extend-right.svg
+share/icons/hicolor/scalable/devices/xfce-display-extend-up.svg
+share/icons/hicolor/scalable/devices/xfce-display-left.svg
 share/icons/hicolor/scalable/devices/xfce-display-mirror.svg
 share/icons/hicolor/scalable/devices/xfce-display-profile.svg
-share/xfce4/helpers/alacritty.desktop
-share/xfce4/helpers/aterm.desktop
-share/xfce4/helpers/balsa.desktop
-share/xfce4/helpers/brave.desktop
-share/xfce4/helpers/caja.desktop
-share/xfce4/helpers/chromium.desktop
-share/xfce4/helpers/debian-sensible-browser.desktop
-share/xfce4/helpers/debian-x-terminal-emulator.desktop
-share/xfce4/helpers/dillo.desktop
-share/xfce4/helpers/encompass.desktop
-share/xfce4/helpers/epiphany.desktop
-share/xfce4/helpers/eterm.desktop
-share/xfce4/helpers/evolution.desktop
-share/xfce4/helpers/firefox.desktop
-share/xfce4/helpers/galeon.desktop
-share/xfce4/helpers/geary.desktop
-share/xfce4/helpers/gnome-terminal.desktop
-share/xfce4/helpers/google-chrome.desktop
-share/xfce4/helpers/icecat.desktop
-share/xfce4/helpers/icedove.desktop
-share/xfce4/helpers/iceweasel.desktop
-share/xfce4/helpers/jumanji.desktop
-share/xfce4/helpers/kitty.desktop
-share/xfce4/helpers/kmail.desktop
-share/xfce4/helpers/konqueror.desktop
-share/xfce4/helpers/links.desktop
-share/xfce4/helpers/lynx.desktop
-share/xfce4/helpers/midori.desktop
-share/xfce4/helpers/mozilla-browser.desktop
-share/xfce4/helpers/mozilla-mailer.desktop
-share/xfce4/helpers/mutt.desktop
-share/xfce4/helpers/nautilus.desktop
-share/xfce4/helpers/netscape-navigator.desktop
-share/xfce4/helpers/nxterm.desktop
-share/xfce4/helpers/opera-browser.desktop
-share/xfce4/helpers/pcmanfm-qt.desktop
-share/xfce4/helpers/pcmanfm.desktop
-share/xfce4/helpers/qterminal.desktop
-share/xfce4/helpers/qtfm.desktop
-share/xfce4/helpers/qupzilla.desktop
-share/xfce4/helpers/rodent.desktop
-share/xfce4/helpers/rox-filer.desktop
-share/xfce4/helpers/sakura.desktop
-share/xfce4/helpers/surf.desktop
-share/xfce4/helpers/sylpheed-claws.desktop
-share/xfce4/helpers/sylpheed.desktop
-share/xfce4/helpers/terminator.desktop
-share/xfce4/helpers/thunar.desktop
-share/xfce4/helpers/thunderbird.desktop
-share/xfce4/helpers/urxvt.desktop
-share/xfce4/helpers/vimprobable2.desktop
-share/xfce4/helpers/w3m.desktop
-share/xfce4/helpers/xfce4-terminal.desktop
-share/xfce4/helpers/xfe.desktop
-share/xfce4/helpers/xterm.desktop
+share/icons/hicolor/scalable/devices/xfce-display-right.svg
 %%NLS%%share/locale/am/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/ar/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/ast/LC_MESSAGES/xfce4-settings.mo
+%%NLS%%share/locale/az/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/be/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/be@tarask/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/bg/LC_MESSAGES/xfce4-settings.mo
@@ -229,6 +182,7 @@ share/xfce4/helpers/xterm.desktop
 %%NLS%%share/locale/te/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/th/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/tr/LC_MESSAGES/xfce4-settings.mo
+%%NLS%%share/locale/tt/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/ug/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/uk/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/ur/LC_MESSAGES/xfce4-settings.mo
@@ -236,3 +190,58 @@ share/xfce4/helpers/xterm.desktop
 %%NLS%%share/locale/zh_CN/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/zh_HK/LC_MESSAGES/xfce4-settings.mo
 %%NLS%%share/locale/zh_TW/LC_MESSAGES/xfce4-settings.mo
+share/xfce4/helpers/alacritty.desktop
+share/xfce4/helpers/aterm.desktop
+share/xfce4/helpers/balsa.desktop
+share/xfce4/helpers/brave.desktop
+share/xfce4/helpers/caja.desktop
+share/xfce4/helpers/chromium.desktop
+share/xfce4/helpers/debian-sensible-browser.desktop
+share/xfce4/helpers/debian-x-terminal-emulator.desktop
+share/xfce4/helpers/dillo.desktop
+share/xfce4/helpers/encompass.desktop
+share/xfce4/helpers/epiphany.desktop
+share/xfce4/helpers/eterm.desktop
+share/xfce4/helpers/evolution.desktop
+share/xfce4/helpers/firefox.desktop
+share/xfce4/helpers/galeon.desktop
+share/xfce4/helpers/geary.desktop
+share/xfce4/helpers/gnome-terminal.desktop
+share/xfce4/helpers/google-chrome.desktop
+share/xfce4/helpers/icecat.desktop
+share/xfce4/helpers/icedove.desktop
+share/xfce4/helpers/iceweasel.desktop
+share/xfce4/helpers/jumanji.desktop
+share/xfce4/helpers/kitty.desktop
+share/xfce4/helpers/kmail.desktop
+share/xfce4/helpers/konqueror.desktop
+share/xfce4/helpers/links.desktop
+share/xfce4/helpers/lynx.desktop
+share/xfce4/helpers/midori.desktop
+share/xfce4/helpers/mozilla-browser.desktop
+share/xfce4/helpers/mozilla-mailer.desktop
+share/xfce4/helpers/mutt.desktop
+share/xfce4/helpers/nautilus.desktop
+share/xfce4/helpers/netscape-navigator.desktop
+share/xfce4/helpers/nxterm.desktop
+share/xfce4/helpers/opera-browser.desktop
+share/xfce4/helpers/pcmanfm-qt.desktop
+share/xfce4/helpers/pcmanfm.desktop
+share/xfce4/helpers/qterminal.desktop
+share/xfce4/helpers/qtfm.desktop
+share/xfce4/helpers/qupzilla.desktop
+share/xfce4/helpers/rodent.desktop
+share/xfce4/helpers/rox-filer.desktop
+share/xfce4/helpers/sakura.desktop
+share/xfce4/helpers/surf.desktop
+share/xfce4/helpers/sylpheed-claws.desktop
+share/xfce4/helpers/sylpheed.desktop
+share/xfce4/helpers/terminator.desktop
+share/xfce4/helpers/thunar.desktop
+share/xfce4/helpers/thunderbird.desktop
+share/xfce4/helpers/urxvt.desktop
+share/xfce4/helpers/vimprobable2.desktop
+share/xfce4/helpers/w3m.desktop
+share/xfce4/helpers/xfce4-terminal.desktop
+share/xfce4/helpers/xfe.desktop
+share/xfce4/helpers/xterm.desktop
diff --git a/sysutils/xfce4-systemload-plugin/Makefile b/sysutils/xfce4-systemload-plugin/Makefile
index 04740afa445e01acabce8a430fec1405fe1399b4..55d52adba9d39568b54ff0576082e6df00f41887 100644
--- a/sysutils/xfce4-systemload-plugin/Makefile
+++ b/sysutils/xfce4-systemload-plugin/Makefile
@@ -18,26 +18,26 @@ USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
 USE_GNOME=	cairo gdkpixbuf2 gtk30 intltool
 USE_XFCE=	libmenu panel xfconf
 
-SSP_UNSAFE=	yes
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--disable-libgtop
 INSTALL_TARGET=	install-strip
+SSP_UNSAFE=	yes
 
 OPTIONS_DEFINE=		NLS UPOWER # LIBGTOP
 OPTIONS_DEFAULT=	UPOWER
 OPTIONS_SUB=		yes
 
 # Enabling libgtop causes crashes, needs investigation
-#LIBGTOP_DESC=		Use libgtop for network utilization monitoring
-UPOWER_DESC=		Use upower for adapting update interval to power state
+#LIBGTOP_DESC=	Use libgtop for network utilization monitoring
+UPOWER_DESC=	Use upower for adapting update interval to power state
 
+#LIBGTOP_LIB_DEPENDS=		libgtop-2.0.so:devel/libgtop
 #LIBGTOP_CONFIGURE_ENABLE=	libgtop
-#LIBGTOP_LIB_DEPENDS=	libgtop-2.0.so:devel/libgtop
 
-NLS_CONFIGURE_ENABLE=	nls
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
-UPOWER_CONFIGURE_ENABLE=upower
-UPOWER_LIB_DEPENDS=	libupower-glib.so:sysutils/upower
+UPOWER_LIB_DEPENDS=		libupower-glib.so:sysutils/upower
+UPOWER_CONFIGURE_ENABLE=	upower
 
 .include <bsd.port.mk>
diff --git a/sysutils/xfce4-wavelan-plugin/Makefile b/sysutils/xfce4-wavelan-plugin/Makefile
index b7ea8b9367af5710304c9abd43e19f4d4a74bd9e..ab13b407d7bac0ef3c15c191c025b4cc747330a2 100644
--- a/sysutils/xfce4-wavelan-plugin/Makefile
+++ b/sysutils/xfce4-wavelan-plugin/Makefile
@@ -15,16 +15,16 @@ LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
 		tar:bzip2 xfce
-USE_GNOME=	cairo gdkpixbuf2 gtk30 glib20 intltool
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
 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/x11-fm/thunar/Makefile b/x11-fm/thunar/Makefile
index 98df73b7110b09845989453c1519bfb17a1fc51d..ef525e1f3f239e3448c2392999ca762d90cc015f 100644
--- a/x11-fm/thunar/Makefile
+++ b/x11-fm/thunar/Makefile
@@ -1,12 +1,12 @@
 PORTNAME=	thunar
-DISTVERSION=	4.18.11
+DISTVERSION=	4.20.0
 CATEGORIES=	x11-fm xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Xfce file manager
-WWW=		https://docs.xfce.org/xfce/thunar/Start
+WWW=		https://gitlab.xfce.org/xfce/thunar
 
 LICENSE=	GPLv2 LGPL20
 LICENSE_COMB=	multi
@@ -19,15 +19,13 @@ RUN_DEPENDS=	pkexec:sysutils/polkit \
 
 USES=		compiler:c11 cpe desktop-file-utils gettext-tools gmake gnome \
 		libtool pathfix perl5 pkgconfig tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
+CPE_VENDOR=	xfce
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30
 USE_LDCONFIG=	yes
 USE_XFCE=	libexo panel xfconf
 USE_XORG=	ice sm x11
 
-CPE_VENDOR=	xfce
-
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
 CONFIGURE_ARGS=	--disable-gudev \
 		--enable-gio-unix
 INSTALL_TARGET=	install-strip
@@ -35,9 +33,9 @@ INSTALL_TARGET=	install-strip
 PORTSCOUT=	limitw:1,even
 
 OPTIONS_DEFINE=		GIR NLS NOTIFY
+OPTIONS_DEFAULT=	NOTIFY PLUG_APR PLUG_SBR PLUG_TPA PLUG_UCA PLUG_WALL
 OPTIONS_GROUP=		PLUGINS
 OPTIONS_GROUP_PLUGINS=	PLUG_APR PLUG_SBR PLUG_TPA PLUG_UCA PLUG_WALL
-OPTIONS_DEFAULT=	NOTIFY PLUG_APR PLUG_SBR PLUG_TPA PLUG_UCA PLUG_WALL
 OPTIONS_SUB=		yes
 
 # Override NOTIFY_DESC
@@ -49,25 +47,25 @@ PLUG_TPA_DESC=	Trash Panel Applet plugin
 PLUG_UCA_DESC=	User Customizable Actions plugin
 PLUG_WALL_DESC=	Wallpaper plugin
 
-GIR_USE=			gnome=introspection:build
-GIR_CONFIGURE_ON=		--enable-introspection=yes
-GIR_CONFIGURE_OFF=		--enable-introspection=no
+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_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
-NOTIFY_CONFIGURE_ENABLE=	notifications
 NOTIFY_LIB_DEPENDS=		libnotify.so:devel/libnotify
+NOTIFY_CONFIGURE_ENABLE=	notifications
 
-PLUG_APR_CONFIGURE_ENABLE=	apr-plugin exif
 PLUG_APR_LIB_DEPENDS=		libexif.so:graphics/libexif
+PLUG_APR_CONFIGURE_ENABLE=	apr-plugin exif
 
-PLUG_SBR_CONFIGURE_ENABLE=	sbr-plugin
 PLUG_SBR_LIB_DEPENDS=		libpcre2-8.so:devel/pcre2
+PLUG_SBR_CONFIGURE_ENABLE=	sbr-plugin
 
-PLUG_TPA_CONFIGURE_ENABLE=	tpa-plugin
 PLUG_TPA_USE=			GNOME=gvfs \
 				XFCE=panel
+PLUG_TPA_CONFIGURE_ENABLE=	tpa-plugin
 
 PLUG_UCA_CONFIGURE_ENABLE=	uca-plugin
 
@@ -76,10 +74,10 @@ PLUG_WALL_CONFIGURE_ENABLE=	wallpaper-plugin
 post-patch:
 	@${REINPLACE_CMD} -e 's|mail-send|emblem-mail|' \
 		${WRKSRC}/plugins/thunar-sendto-email/thunar-sendto-email.desktop.in.in
-
-post-install:
-	${RM} ${STAGEDIR}${PREFIX}/lib/systemd/user/thunar.service
-	(cd ${STAGEDIR}${PREFIX}/lib && ${RMDIR} -p systemd/user)
+.for f in org.xfce.FileManager org.xfce.Thunar.FileManager1 org.xfce.Thunar
+	@${REINPLACE_CMD} -i "" -e 's|SystemdService|#SystemdService|' \
+		${WRKSRC}/${f}.service.in
+.endfor
 
 .include <bsd.port.pre.mk>
 
diff --git a/x11-fm/thunar/distinfo b/x11-fm/thunar/distinfo
index 175ef3d98243019176fe6a8a3a72cb536b2e06d3..9cb6c4b68a62d5813a7f274f9f9cc671f9035191 100644
--- a/x11-fm/thunar/distinfo
+++ b/x11-fm/thunar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722368895
-SHA256 (xfce4/thunar-4.18.11.tar.bz2) = 7d0bdae2076a568c137d403ab5600e06a7a4f7a02514d486da7b8414aa75d612
-SIZE (xfce4/thunar-4.18.11.tar.bz2) = 2944418
+TIMESTAMP = 1734293105
+SHA256 (xfce4/thunar-4.20.0.tar.bz2) = 27731a76f3aecf3752b1ca35afad89e264c52244f70083d933507dd4a17548b0
+SIZE (xfce4/thunar-4.20.0.tar.bz2) = 4422196
diff --git a/x11-fm/thunar/files/patch-Makefile.in b/x11-fm/thunar/files/patch-Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..808cf15434595eb211ba628c251f184ab4768972
--- /dev/null
+++ b/x11-fm/thunar/files/patch-Makefile.in
@@ -0,0 +1,115 @@
+--- Makefile.in.orig	2024-12-01 10:13:46 UTC
++++ Makefile.in
+@@ -185,10 +185,9 @@ am__installdirs = "$(DESTDIR)$(appdatadir)" "$(DESTDIR
+          $(am__cd) "$$dir" && rm -f $$files; }; \
+   }
+ am__installdirs = "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(desktopdir)" \
+-	"$(DESTDIR)$(polkit_policydir)" "$(DESTDIR)$(servicedir)" \
+-	"$(DESTDIR)$(systemd_userdir)"
++	"$(DESTDIR)$(polkit_policydir)" "$(DESTDIR)$(servicedir)"
+ DATA = $(appdata_DATA) $(desktop_DATA) $(polkit_policy_DATA) \
+-	$(service_DATA) $(systemd_user_DATA)
++	$(service_DATA)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+   distclean-recursive maintainer-clean-recursive
+ am__recursive_targets = \
+@@ -553,9 +552,6 @@ service_DATA = $(service_in_files:.service.in=.service
+ 	org.xfce.Thunar.FileManager1.service.in
+ 
+ service_DATA = $(service_in_files:.service.in=.service)
+-systemd_userdir = $(prefix)/lib/systemd/user
+-systemd_user_in_files = thunar.service.in
+-systemd_user_DATA = $(systemd_user_in_files:.service.in=.service)
+ polkit_policydir = $(datadir)/polkit-1/actions
+ polkit_in_in_files = \
+ 	org.xfce.thunar.policy.in.in
+@@ -568,7 +564,6 @@ EXTRA_DIST = \
+ 	README.md								\
+ 	$(desktop_in_in_files)						\
+ 	$(service_in_files)						\
+-	$(systemd_user_in_files)					\
+ 	$(appdata_in_files)						\
+ 	$(polkit_in_in_files)					\
+ 	its/xfce.loc							\
+@@ -580,7 +575,6 @@ DISTCLEANFILES = \
+ 	$(desktop_in_files)						\
+ 	$(desktop_DATA)							\
+ 	$(service_DATA)							\
+-	$(systemd_user_DATA)					\
+ 	$(polkit_in_files)						\
+ 	$(polkit_policy_DATA)
+ 
+@@ -734,28 +728,7 @@ uninstall-serviceDATA:
+ 	@list='$(service_DATA)'; test -n "$(servicedir)" || list=; \
+ 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ 	dir='$(DESTDIR)$(servicedir)'; $(am__uninstall_files_from_dir)
+-install-systemd_userDATA: $(systemd_user_DATA)
+-	@$(NORMAL_INSTALL)
+-	@list='$(systemd_user_DATA)'; test -n "$(systemd_userdir)" || list=; \
+-	if test -n "$$list"; then \
+-	  echo " $(MKDIR_P) '$(DESTDIR)$(systemd_userdir)'"; \
+-	  $(MKDIR_P) "$(DESTDIR)$(systemd_userdir)" || exit 1; \
+-	fi; \
+-	for p in $$list; do \
+-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+-	  echo "$$d$$p"; \
+-	done | $(am__base_list) | \
+-	while read files; do \
+-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemd_userdir)'"; \
+-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(systemd_userdir)" || exit $$?; \
+-	done
+ 
+-uninstall-systemd_userDATA:
+-	@$(NORMAL_UNINSTALL)
+-	@list='$(systemd_user_DATA)'; test -n "$(systemd_userdir)" || list=; \
+-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+-	dir='$(DESTDIR)$(systemd_userdir)'; $(am__uninstall_files_from_dir)
+-
+ # This directory's subdirectories are mostly independent; you can cd
+ # into them and run 'make' without going through this Makefile.
+ # To change the values of 'make' variables: instead of editing Makefiles,
+@@ -1065,7 +1038,7 @@ installdirs-am:
+ all-am: Makefile $(DATA) config.h
+ installdirs: installdirs-recursive
+ installdirs-am:
+-	for dir in "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(polkit_policydir)" "$(DESTDIR)$(servicedir)" "$(DESTDIR)$(systemd_userdir)"; do \
++	for dir in "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(polkit_policydir)" "$(DESTDIR)$(servicedir)"; do \
+ 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ 	done
+ install: install-recursive
+@@ -1123,8 +1096,7 @@ install-data-am: install-appdataDATA install-desktopDA
+ info-am:
+ 
+ install-data-am: install-appdataDATA install-desktopDATA \
+-	install-polkit_policyDATA install-serviceDATA \
+-	install-systemd_userDATA
++	install-polkit_policyDATA install-serviceDATA
+ 
+ install-dvi: install-dvi-recursive
+ 
+@@ -1171,8 +1143,7 @@ uninstall-am: uninstall-appdataDATA uninstall-desktopD
+ ps-am:
+ 
+ uninstall-am: uninstall-appdataDATA uninstall-desktopDATA \
+-	uninstall-polkit_policyDATA uninstall-serviceDATA \
+-	uninstall-systemd_userDATA
++	uninstall-polkit_policyDATA uninstall-serviceDATA
+ 
+ .MAKE: $(am__recursive_targets) all install-am install-strip
+ 
+@@ -1190,13 +1161,12 @@ uninstall-am: uninstall-appdataDATA uninstall-desktopD
+ 	install-info install-info-am install-man install-pdf \
+ 	install-pdf-am install-polkit_policyDATA install-ps \
+ 	install-ps-am install-serviceDATA install-strip \
+-	install-systemd_userDATA installcheck installcheck-am \
++	installcheck installcheck-am \
+ 	installdirs installdirs-am maintainer-clean \
+ 	maintainer-clean-generic mostlyclean mostlyclean-generic \
+ 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ 	uninstall-am uninstall-appdataDATA uninstall-desktopDATA \
+-	uninstall-polkit_policyDATA uninstall-serviceDATA \
+-	uninstall-systemd_userDATA
++	uninstall-polkit_policyDATA uninstall-serviceDATA
+ 
+ .PRECIOUS: Makefile
+ 
diff --git a/x11-fm/thunar/pkg-plist b/x11-fm/thunar/pkg-plist
index cec27af588f3cbe8bc60d7fdc9524a41a34286a8..fedd9ea84cb10f6f81c3b0955b5662f445a92f96 100644
--- a/x11-fm/thunar/pkg-plist
+++ b/x11-fm/thunar/pkg-plist
@@ -57,7 +57,6 @@ share/gtk-doc/html/thunar/ThunarDevice.html
 share/gtk-doc/html/thunar/ThunarDeviceMonitor.html
 share/gtk-doc/html/thunar/ThunarEmblemChooser.html
 share/gtk-doc/html/thunar/ThunarFile.html
-share/gtk-doc/html/thunar/ThunarFileMonitor.html
 share/gtk-doc/html/thunar/ThunarFolder.html
 share/gtk-doc/html/thunar/ThunarHistory.html
 share/gtk-doc/html/thunar/ThunarIconFactory.html
diff --git a/x11-wm/xfce4-desktop/Makefile b/x11-wm/xfce4-desktop/Makefile
index 566e33de7a09eea7f0dc294e74404d5f1698c669..022871d4b3befd7ba638bcadfec0969121661ef3 100644
--- a/x11-wm/xfce4-desktop/Makefile
+++ b/x11-wm/xfce4-desktop/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	xfce4-desktop
-PORTVERSION=	4.18.1
-PORTREVISION=	4
+PORTVERSION=	4.20.0
 CATEGORIES=	x11-wm xfce
 MASTER_SITES=	XFCE
 DISTNAME=	xfdesktop-${DISTVERSIONFULL}
@@ -8,40 +7,42 @@ DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Xfce's desktop manager
-WWW=		https://www.xfce.org/
+WWW=		https://gitlab.xfce.org/xfce/xfdesktop
 
 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 \
+		libyaml.so:textproc/libyaml
 
-USES=		compiler:c11 gettext-tools gmake gnome pkgconfig tar:bzip2 \
-		xfce xorg
-USE_GNOME=	cairo glib20 gdkpixbuf2 gtk30 intltool libwnck3
-USE_XFCE=	garcon libexo xfconf
+USES=		compiler:c11 gettext-tools gmake gnome pkgconfig tar:bzip2 xfce \
+		xorg
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 libwnck3
+USE_XFCE=	garcon libexo windowing xfconf
 USE_XORG=	ice sm x11
 
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
-INSTALL_TARGET=	install-strip
-
 CONFIGURE_ARGS=	--enable-gio-unix \
 		--enable-notifications
+INSTALL_TARGET=	install-strip
 
 PORTSCOUT=	limitw:1,even
 
-OPTIONS_DEFINE=			NLS THUNAR
-OPTIONS_DEFAULT=		THUNAR
-OPTIONS_SUB=			yes
+OPTIONS_DEFINE=		NLS THUNAR WAYLAND
+OPTIONS_DEFAULT=	THUNAR WAYLAND
+OPTIONS_SUB=		yes
 
-THUNAR_DESC=			Thunar file manager support
+THUNAR_DESC=		Thunar file manager support
 
-NLS_CONFIGURE_ENABLE=		nls
-NLS_USES=			gettext-runtime
+NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
 
+THUNAR_USE=			XFCE=thunar
 THUNAR_CONFIGURE_ENABLE=	thunarx
 THUNAR_CONFIGURE_WITH=		file-manager-fallback=Thunar
-THUNAR_USE=			xfce=thunar
+
+WAYLAND_LIB_DEPENDS=		libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell
+WAYLAND_CONFIGURE_ENABLE=	wayland
 
 .include <bsd.port.mk>
diff --git a/x11-wm/xfce4-desktop/distinfo b/x11-wm/xfce4-desktop/distinfo
index 84008961613ee2a075ddc2279b5a9464b091cf45..3cc96017e837b2be918af04325c5eadaaad4c94a 100644
--- a/x11-wm/xfce4-desktop/distinfo
+++ b/x11-wm/xfce4-desktop/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1674304075
-SHA256 (xfce4/xfdesktop-4.18.1.tar.bz2) = ef9268190c25877e22a9ff5aa31cc8ede120239cb0dfca080c174e7eed4ff756
-SIZE (xfce4/xfdesktop-4.18.1.tar.bz2) = 2133258
+TIMESTAMP = 1734297504
+SHA256 (xfce4/xfdesktop-4.20.0.tar.bz2) = 227041ba80c7f3eb9c99dec817f1132b35d8aec7a4335703f61ba1735cd65632
+SIZE (xfce4/xfdesktop-4.20.0.tar.bz2) = 2497345
diff --git a/x11-wm/xfce4-desktop/pkg-plist b/x11-wm/xfce4-desktop/pkg-plist
index e3891f82c96977f253c9cb67b73c11fd769b190c..f035250d13ecfff1addbfeaf53d8984a6d73bf37 100644
--- a/x11-wm/xfce4-desktop/pkg-plist
+++ b/x11-wm/xfce4-desktop/pkg-plist
@@ -1,14 +1,17 @@
 bin/xfdesktop
 bin/xfdesktop-settings
-share/man/man1/xfdesktop.1.gz
 share/applications/xfce-backdrop-settings.desktop
 share/backgrounds/xfce/xfce-blue.jpg
+share/backgrounds/xfce/xfce-cp-dark.svg
 share/backgrounds/xfce/xfce-flower.svg
 share/backgrounds/xfce/xfce-leaves.svg
+share/backgrounds/xfce/xfce-light.svg
+share/backgrounds/xfce/xfce-mouserace.svg
 share/backgrounds/xfce/xfce-shapes.svg
-share/backgrounds/xfce/xfce-stripes.png
-share/backgrounds/xfce/xfce-teal.jpg
-share/backgrounds/xfce/xfce-verticals.png
+share/backgrounds/xfce/xfce-stripes.svg
+share/backgrounds/xfce/xfce-teal.svg
+share/backgrounds/xfce/xfce-verticals.svg
+share/backgrounds/xfce/xfce-x.svg
 share/icons/hicolor/128x128/apps/org.xfce.xfdesktop.png
 share/icons/hicolor/16x16/apps/org.xfce.xfdesktop.png
 share/icons/hicolor/24x24/apps/org.xfce.xfdesktop.png
@@ -84,6 +87,7 @@ share/icons/hicolor/scalable/apps/org.xfce.xfdesktop.svg
 %%NLS%%share/locale/zh_CN/LC_MESSAGES/xfdesktop.mo
 %%NLS%%share/locale/zh_HK/LC_MESSAGES/xfdesktop.mo
 %%NLS%%share/locale/zh_TW/LC_MESSAGES/xfdesktop.mo
+share/man/man1/xfdesktop.1.gz
 share/pixmaps/xfce4_xicon.png
 share/pixmaps/xfce4_xicon1.png
 share/pixmaps/xfce4_xicon2.png
diff --git a/x11-wm/xfce4-panel-profiles/Makefile b/x11-wm/xfce4-panel-profiles/Makefile
index 8164a95e11cc3dbb5f1a18e2d88681e37d8b7e63..f1f66dbbcbf16633e0c57da9a64bbb6e3d71d276 100644
--- a/x11-wm/xfce4-panel-profiles/Makefile
+++ b/x11-wm/xfce4-panel-profiles/Makefile
@@ -15,16 +15,16 @@ USES=		gettext-tools gmake gnome python shebangfix tar:bz2 xfce
 USE_GNOME=	gtk30 intltool
 USE_XFCE=	libmenu panel
 
-NO_ARCH=	yes
+SHEBANG_FILES=	xfce4-panel-profiles/panelconfig.py \
+		xfce4-panel-profiles/xfce4-panel-profiles.py
 HAS_CONFIGURE=	yes
-SHEBANG_FILES=	xfce4-panel-profiles/xfce4-panel-profiles.py \
-		xfce4-panel-profiles/panelconfig.py
+NO_ARCH=	yes
 
 OPTIONS_DEFINE=	DOCS NLS
 OPTIONS_SUB=	yes
 
+NLS_USES=		gettext-runtime
 NLS_INSTALL_TARGET=	install-locale
-NLS_USES=	gettext-runtime
 
 post-install:
 	${RLN} ${STAGEDIR}${PREFIX}/share/locale ${STAGEDIR}${PREFIX}/share/${PORTNAME}/locale
diff --git a/x11-wm/xfce4-panel/Makefile b/x11-wm/xfce4-panel/Makefile
index 490d54e0d2ab34d47df1a2e72b4fe6bb27beec08..469aa5affed04002cc0e8eee33306407543a8a84 100644
--- a/x11-wm/xfce4-panel/Makefile
+++ b/x11-wm/xfce4-panel/Makefile
@@ -1,12 +1,12 @@
 PORTNAME=	xfce4-panel
-PORTVERSION=	4.18.6
+PORTVERSION=	4.20.0
 CATEGORIES=	x11-wm xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Xfce's panel
-WWW=		https://docs.xfce.org/xfce/xfce4-panel/start
+WWW=		https://gitlab.xfce.org/xfce/xfce4-panel
 
 LICENSE=	GPLv2 LGPL21
 LICENSE_COMB=	multi
@@ -18,23 +18,24 @@ LIB_DEPENDS=	libdbusmenu-gtk3.so:devel/libdbusmenu \
 
 USES=		compiler:c11 desktop-file-utils gettext-tools gmake gnome \
 		libtool pathfix perl5 pkgconfig tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool libwnck3
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 libwnck3
 USE_LDCONFIG=	yes
-USE_XFCE=	garcon libexo xfconf
+USE_PERL5=	build
+USE_XFCE=	garcon libexo windowing xfconf
 USE_XORG=	ice sm x11 xext
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--enable-gio-unix \
+CONFIGURE_ARGS=	--enable-x11 \
 		--without-html-dir
 INSTALL_TARGET=	install-strip
 
 PORTSCOUT=	limitw:1,even
 
-OPTIONS_DEFINE=		GIR NLS VAPI
-OPTIONS_DEFAULT=	GIR VAPI
+OPTIONS_DEFINE=		GIR NLS VAPI WAYLAND
+OPTIONS_DEFAULT=	GIR VAPI WAYLAND
 OPTIONS_SUB=		yes
 
-GIR_DESC=		Use Gobject Introspection
+GIR_DESC=	Use Gobject Introspection
 
 GIR_USE=		GNOME=introspection:build
 GIR_CONFIGURE_ON=	--enable-introspection=yes
@@ -47,4 +48,8 @@ VAPI_IMPLIES=		GIR
 VAPI_USES=		vala:build
 VAPI_CONFIGURE_ENABLE=	vala
 
+WAYLAND_LIB_DEPENDS=		libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell \
+				libwayland-client.so:graphics/wayland
+WAYLAND_CONFIGURE_ENABLE=	gtk-layer-shell wayland
+
 .include <bsd.port.mk>
diff --git a/x11-wm/xfce4-panel/distinfo b/x11-wm/xfce4-panel/distinfo
index 38a31b8101e1d632efda651d7ed52cc03ae6986a..06fb8e60487ff5ca0a8d8d4cdf76754b6f20f0aa 100644
--- a/x11-wm/xfce4-panel/distinfo
+++ b/x11-wm/xfce4-panel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1709218506
-SHA256 (xfce4/xfce4-panel-4.18.6.tar.bz2) = 21337161f58bb9b6e42760cb6883bc79beea27882aa6272b61f0e09d750d7c62
-SIZE (xfce4/xfce4-panel-4.18.6.tar.bz2) = 1595352
+TIMESTAMP = 1734284839
+SHA256 (xfce4/xfce4-panel-4.20.0.tar.bz2) = ff33cd5f5d16c2193fe305f4878d82cd8d2feea92f2594bcd27b2b5c392d43b8
+SIZE (xfce4/xfce4-panel-4.20.0.tar.bz2) = 2260815
diff --git a/x11-wm/xfce4-session/Makefile b/x11-wm/xfce4-session/Makefile
index 8ba3d91bd9daf08a5984ff63d39a45a9baab0bbe..69e7d7f6838d4d60b5ded97d216edec9d389d3f0 100644
--- a/x11-wm/xfce4-session/Makefile
+++ b/x11-wm/xfce4-session/Makefile
@@ -1,12 +1,12 @@
 PORTNAME=	xfce4-session
-PORTVERSION=	4.18.4
+PORTVERSION=	4.20.0
 CATEGORIES=	x11-wm xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Xfce's session manager
-WWW=		https://www.xfce.org/
+WWW=		https://gitlab.xfce.org/xfce/xfce4-session
 
 LICENSE=	GPLv2
 
@@ -18,23 +18,31 @@ LIB_DEPENDS=	libpolkit-gobject-1.so:sysutils/polkit
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool pathfix \
 		pkgconfig tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 gtk30 glib20 intltool libwnck3
-USE_XFCE=	libmenu xfconf
+USE_GNOME=	cairo gdkpixbuf2 gtk30 glib20 libwnck3
+USE_XFCE=	libmenu xfconf windowing
 USE_XORG=	ice sm x11
 
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
 CONFIGURE_ARGS=	--enable-legacy-sm \
-		--with-xsession-prefix=${PREFIX}
+		--with-backend=freebsd \
+		--enable-x11 \
+		--enable-polkit \
+		--with-xsession-prefix=${PREFIX} \
+		--with-wayland-session-prefix=${PREFIX}
 SUB_FILES=	pkg-message
 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
 
+WAYLAND_LIB_DEPENDS=		libgtk-layer-shell.so:x11-toolkits/gtk-layer-shell \
+				libwayland-client.so:graphics/wayland
+WAYLAND_CONFIGURE_ENABLE=	gtk-layer-shell wayland
+
 .include <bsd.port.mk>
diff --git a/x11-wm/xfce4-session/distinfo b/x11-wm/xfce4-session/distinfo
index e38905bf5528d29f30df80491ba0baa72ba90deb..4c65b38b8db7d0344a95793bc94316a77e48f809 100644
--- a/x11-wm/xfce4-session/distinfo
+++ b/x11-wm/xfce4-session/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1717950146
-SHA256 (xfce4/xfce4-session-4.18.4.tar.bz2) = 9a9c5074c7338b881a5259d3b643619bf84901360c03478e1a697938ece06516
-SIZE (xfce4/xfce4-session-4.18.4.tar.bz2) = 922274
+TIMESTAMP = 1734294095
+SHA256 (xfce4/xfce4-session-4.20.0.tar.bz2) = 5229233fe6ee692361cc28724886c5b08e0216d89f09c42d273191d38fd64f85
+SIZE (xfce4/xfce4-session-4.20.0.tar.bz2) = 1185603
diff --git a/x11-wm/xfce4-session/files/patch-scripts_xscreensaver.desktop.in b/x11-wm/xfce4-session/files/patch-scripts_xscreensaver.desktop.in
deleted file mode 100644
index 4978645971f7e1504e3ee6358c0fdd6457b7904f..0000000000000000000000000000000000000000
--- a/x11-wm/xfce4-session/files/patch-scripts_xscreensaver.desktop.in
+++ /dev/null
@@ -1,7 +0,0 @@
---- scripts/xscreensaver.desktop.in.orig	2019-08-11 20:11:06 UTC
-+++ scripts/xscreensaver.desktop.in
-@@ -7,3 +7,4 @@ Icon=preferences-desktop-screensaver
- Exec=xscreensaver -no-splash
- TryExec=xscreensaver
- OnlyShowIn=XFCE;
-+Hidden=true
diff --git a/x11-wm/xfce4-session/files/pkg-message.in b/x11-wm/xfce4-session/files/pkg-message.in
index cf2c7b0aa22bc9a0885ac42ab993b9e43dccb236..037d0de3ad71c7191d2a368244eff5ce2f6c51f4 100644
--- a/x11-wm/xfce4-session/files/pkg-message.in
+++ b/x11-wm/xfce4-session/files/pkg-message.in
@@ -21,35 +21,6 @@ polkit.addRule(function (action, subject) {
     return polkit.Result.YES;
   }
 });
-
-
-This port installs a startup file for xscreensaver but it is
-disabled by default. This is so because the XFCE metaport
-installs xfce4-screensaver to autostart and having both enabled
-causes conflicts.
-
-If you want to change the screen saver being used and enable
-xscreensaver please go to the Session and Startup settings, and in
-the Application Autostart tab enable only the relevant screensaver:
-
-Screensaver -> to enable xscreensaver
-XFCE Screensaver -> to enable xfce4-screensaver
-EOM
-}
-{
-  type: upgrade
-  message: <<EOM
-This port installs a startup file for xscreensaver but it is
-disabled by default. This is so because the XFCE metaport
-installs xfce4-screensaver to autostart and having both enabled
-causes conflicts.
-
-If you want to change the screen saver being used and enable
-xscreensaver please go to the Session and Startup settings, and in
-the Application Autostart tab enable only the relevant screensaver:
-
-Screensaver -> to enable xscreensaver
-XFCE Screensaver -> to enable xfce4-screensaver
 EOM
 }
 ]
diff --git a/x11-wm/xfce4-session/pkg-plist b/x11-wm/xfce4-session/pkg-plist
index b1c3d0114d9303459810bb14de8465c44f6a6dea..e375ed05ff56731bfbe25b9d1b7ad3cea64b0e43 100644
--- a/x11-wm/xfce4-session/pkg-plist
+++ b/x11-wm/xfce4-session/pkg-plist
@@ -3,7 +3,6 @@ bin/xfce4-session
 bin/xfce4-session-logout
 bin/xfce4-session-settings
 bin/xflock4
-etc/xdg/autostart/xscreensaver.desktop
 etc/xdg/xfce4/Xft.xrdb
 etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
 @(,,755) etc/xdg/xfce4/xinitrc
@@ -45,6 +44,7 @@ share/icons/hicolor/scalable/apps/org.xfce.session.svg
 %%NLS%%share/locale/ar/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/ast/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/az/LC_MESSAGES/xfce4-session.mo
+%%NLS%%share/locale/az_AZ/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/be/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/be@tarask/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/bg/LC_MESSAGES/xfce4-session.mo
@@ -76,6 +76,7 @@ share/icons/hicolor/scalable/apps/org.xfce.session.svg
 %%NLS%%share/locale/is/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/it/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/ja/LC_MESSAGES/xfce4-session.mo
+%%NLS%%share/locale/ka/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/kk/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/ko/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/lt/LC_MESSAGES/xfce4-session.mo
@@ -109,5 +110,6 @@ share/icons/hicolor/scalable/apps/org.xfce.session.svg
 %%NLS%%share/locale/zh_HK/LC_MESSAGES/xfce4-session.mo
 %%NLS%%share/locale/zh_TW/LC_MESSAGES/xfce4-session.mo
 share/polkit-1/actions/org.xfce.session.policy
+%%WAYLAND%%share/wayland-sessions/xfce-wayland.desktop
 share/xdg-desktop-portal/xfce-portals.conf
 share/xsessions/xfce.desktop
diff --git a/x11-wm/xfce4-wm/Makefile b/x11-wm/xfce4-wm/Makefile
index c7482b6d7c8b830573ac86b0717016588f939b09..7a07d737850bdb6b1bab3f61cec1057bc924f26c 100644
--- a/x11-wm/xfce4-wm/Makefile
+++ b/x11-wm/xfce4-wm/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	xfce4-wm
-PORTVERSION=	4.18.0
-PORTREVISION=	3
+PORTVERSION=	4.20.0
 CATEGORIES=	x11-wm xfce
 MASTER_SITES=	XFCE
 DISTNAME=	xfwm4-${DISTVERSIONFULL}
@@ -8,16 +7,16 @@ DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Xfce's window manager
-WWW=		https://xfce.org/
+WWW=		https://gitlab.xfce.org/xfce/xfwm4
 
 LICENSE=	GPLv2
 
 LIB_DEPENDS=	libepoxy.so:graphics/libepoxy \
 		libharfbuzz.so:print/harfbuzz
 
-USES=		compiler:c11 gettext-tools gmake gnome pkgconfig tar:bzip2 \
-		xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 gtk30 intltool libwnck3
+USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
+		tar:bzip2 xfce xorg
+USE_GNOME=	cairo gdkpixbuf2 gtk30 libwnck3
 USE_XFCE=	libmenu xfconf
 USE_XORG=	ice sm x11 xcomposite xdamage xext xfixes xi xinerama \
 		xorgproto xpresent xrandr xrender xres
@@ -27,7 +26,7 @@ CONFIGURE_ARGS=	--enable-xsync \
 		--enable-randr \
 		--enable-compositor \
 		--enable-xpresent \
-		--disable-kde-systray
+		--enable-poswin
 GNU_CONFIGURE=	yes
 DATADIR=	${PREFIX}/share/xfwm4
 
diff --git a/x11-wm/xfce4-wm/distinfo b/x11-wm/xfce4-wm/distinfo
index cf3a0c882343693f3366725558b9b8f4760b5273..5b7e1b9aa3d12a14ebf0353bc8a3269cfa7f0773 100644
--- a/x11-wm/xfce4-wm/distinfo
+++ b/x11-wm/xfce4-wm/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1671100717
-SHA256 (xfce4/xfwm4-4.18.0.tar.bz2) = 92cd1b889bb25cb4bc06c1c6736c238d96e79c1e706b9f77fad0a89d6e5fc13f
-SIZE (xfce4/xfwm4-4.18.0.tar.bz2) = 1220901
+TIMESTAMP = 1734297176
+SHA256 (xfce4/xfwm4-4.20.0.tar.bz2) = a58b63e49397aa0d8d1dcf0636be93c8bb5926779aef5165e0852890190dcf06
+SIZE (xfce4/xfwm4-4.20.0.tar.bz2) = 1487158
diff --git a/x11-wm/xfce4-wm/pkg-plist b/x11-wm/xfce4-wm/pkg-plist
index 0e63e3f407006f38b023c3122fa32eb6751b80f3..8dfe326acf7a254edf0cccd6aa846049208e50aa 100644
--- a/x11-wm/xfce4-wm/pkg-plist
+++ b/x11-wm/xfce4-wm/pkg-plist
@@ -74,6 +74,7 @@ share/icons/hicolor/scalable/apps/xfwm4-default.svg
 %%NLS%%share/locale/ka/LC_MESSAGES/xfwm4.mo
 %%NLS%%share/locale/kk/LC_MESSAGES/xfwm4.mo
 %%NLS%%share/locale/ko/LC_MESSAGES/xfwm4.mo
+%%NLS%%share/locale/ku/LC_MESSAGES/xfwm4.mo
 %%NLS%%share/locale/lt/LC_MESSAGES/xfwm4.mo
 %%NLS%%share/locale/lv/LC_MESSAGES/xfwm4.mo
 %%NLS%%share/locale/ms/LC_MESSAGES/xfwm4.mo
diff --git a/x11-wm/xfce4/Makefile b/x11-wm/xfce4/Makefile
index 558d08c652b3f369222b2ea0c95bf38dd0b2351e..8b067bf204081f5919b2bd23e152f6bcbd2b51ec 100644
--- a/x11-wm/xfce4/Makefile
+++ b/x11-wm/xfce4/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	xfce
-PORTVERSION=	4.18
-PORTREVISION=	1
+PORTVERSION=	4.20
 CATEGORIES=	x11-wm xfce
 
 MAINTAINER=	xfce@FreeBSD.org
diff --git a/x11/Makefile b/x11/Makefile
index e1b54a90a84e8c778cf3acb9e14f6252d5f05d60..5f1516311f0a17d16d95bf8f74e6f601afe576af 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -221,6 +221,7 @@
     SUBDIR += libxdg-basedir
     SUBDIR += libxfce4menu
     SUBDIR += libxfce4util
+    SUBDIR += libxfce4windowing
     SUBDIR += libxkbcommon
     SUBDIR += libxkbfile
     SUBDIR += libxklavier
diff --git a/x11/libexo/Makefile b/x11/libexo/Makefile
index c3fdaf3b9feb89c35fbed2d87951582abd4ffc6b..b26107b063a7cd75453b7f055525f8cd20a8dfab 100644
--- a/x11/libexo/Makefile
+++ b/x11/libexo/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	libexo
-PORTVERSION=	4.18.0
-PORTREVISION=	4
+PORTVERSION=	4.20.0
 CATEGORIES=	x11 xfce
 MASTER_SITES=	XFCE
 DISTNAME=	exo-${DISTVERSIONFULL}
@@ -8,7 +7,7 @@ DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Application library for the Xfce desktop environment
-WWW=		https://www.xfce.org/
+WWW=		https://gitlab.xfce.org/xfce/exo
 
 LICENSE=	GPLv2 LGPL21
 LICENSE_COMB=	multi
@@ -16,28 +15,28 @@ LICENSE_FILE_GPLv2=	${WRKSRC}/COPYING
 LICENSE_FILE_LGPL21=	${WRKSRC}/COPYING.LIB
 
 LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
-BUILD_DEPENDS=	p5-URI>=1.70:net/p5-URI
-RUN_DEPENDS=	p5-URI>=1.70:net/p5-URI
 
-USES=		compiler:c11 gettext-tools gmake gnome libtool pathfix \
-		perl5 pkgconfig tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
+USES=		compiler:c11 gettext-tools gmake gnome libtool pathfix perl5 \
+		pkgconfig tar:bzip2 xfce xorg
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30
 USE_LDCONFIG=	yes
+USE_PERL5=	build
 USE_XFCE=	libmenu
 USE_XORG=	ice sm x11
 
-WRKSRC=		${WRKDIR}/${DISTNAME}
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+CONFIGURE_ARGS=	--disable-silent-rules \
+		--without-html-dir
 INSTALL_TARGET=	install-strip
-CONFIGURE_ARGS=	--without-html-dir --disable-silent-rules
 
 PORTSCOUT=	limitw:1,even
 
-OPTIONS_DEFINE=	 NLS
+WRKSRC=		${WRKDIR}/${DISTNAME}
+
+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/x11/libexo/distinfo b/x11/libexo/distinfo
index dad12aa01c931b420158210d32a2382d63dacddc..89d2040682642f4b911ddb189f4e0f0676232c02 100644
--- a/x11/libexo/distinfo
+++ b/x11/libexo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1671097667
-SHA256 (xfce4/exo-4.18.0.tar.bz2) = 4f2c61d045a888cdb64297fd0ae20cc23da9b97ffb82562ed12806ed21da7d55
-SIZE (xfce4/exo-4.18.0.tar.bz2) = 896849
+TIMESTAMP = 1734289942
+SHA256 (xfce4/exo-4.20.0.tar.bz2) = 4277f799245f1efde01cd917fd538ba6b12cf91c9f8a73fe2035fd5456ec078d
+SIZE (xfce4/exo-4.20.0.tar.bz2) = 1100703
diff --git a/x11/libexo/pkg-plist b/x11/libexo/pkg-plist
index 75bb92b903f3867114a0f0afd8a960e4f015e4f0..997524f386a432712f9b868260593656bf1086cb 100644
--- a/x11/libexo/pkg-plist
+++ b/x11/libexo/pkg-plist
@@ -89,6 +89,7 @@ share/man/man1/exo-open.1.gz
 %%NLS%%share/locale/uk/LC_MESSAGES/exo.mo
 %%NLS%%share/locale/ur/LC_MESSAGES/exo.mo
 %%NLS%%share/locale/ur_PK/LC_MESSAGES/exo.mo
+%%NLS%%share/locale/uz/LC_MESSAGES/exo.mo
 %%NLS%%share/locale/vi/LC_MESSAGES/exo.mo
 %%NLS%%share/locale/zh_CN/LC_MESSAGES/exo.mo
 %%NLS%%share/locale/zh_HK/LC_MESSAGES/exo.mo
diff --git a/x11/libxfce4menu/Makefile b/x11/libxfce4menu/Makefile
index b4c674a5ceb9fb2371a78ab63e48327e000a372f..1342cbc682148d792b3f22a473bff863db6458e1 100644
--- a/x11/libxfce4menu/Makefile
+++ b/x11/libxfce4menu/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	libxfce4menu
-PORTVERSION=	4.18.6
+PORTVERSION=	4.20.0
 CATEGORIES=	x11 xfce
 MASTER_SITES=	XFCE
 DISTNAME=	libxfce4ui-${DISTVERSIONFULL}
@@ -7,33 +7,33 @@ DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Widgets library for the Xfce desktop environment
-WWW=		https://www.xfce.org/
+WWW=		https://gitlab.xfce.org/xfce/libxfce4ui
 
 LICENSE=	GPLv2
 
 LIB_DEPENDS=	libepoxy.so:graphics/libepoxy \
 		libgtop-2.0.so:devel/libgtop \
+		libgudev-1.0.so:devel/libgudev \
 		libharfbuzz.so:print/harfbuzz
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool pathfix \
 		pkgconfig tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30
 USE_LDCONFIG=	yes
 USE_XFCE=	libutil xfconf
 USE_XORG=	ice sm x11
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--disable-gudev \
-		--enable-epoxy \
+CONFIGURE_ARGS=	--enable-epoxy \
 		--enable-glibtop \
+		--enable-libsm \
+		--enable-x11 \
 		--with-vendor-info=${OPSYS} \
 		--without-html-dir
 INSTALL_TARGET=	install-strip
 
-PORTSCOUT=	limitw:1,even
-
-OPTIONS_DEFINE=		GIR GLADE NLS STARTUP VAPI
-OPTIONS_DEFAULT=	GIR STARTUP VAPI
+OPTIONS_DEFINE=		GIR GLADE NLS STARTUP VAPI WAYLAND
+OPTIONS_DEFAULT=	GIR STARTUP VAPI WAYLAND
 OPTIONS_SUB=		yes
 
 GIR_DESC=	Use Gobject Introspection
@@ -57,4 +57,9 @@ VAPI_IMPLIES=		GIR
 VAPI_USES=		vala:build
 VAPI_CONFIGURE_ENABLE=	vala
 
+WAYLAND_CONFIGURE_ENABLE=	wayland
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${LOCALBASE}|' ${WRKSRC}/xfce4-about/main.c
+
 .include <bsd.port.mk>
diff --git a/x11/libxfce4menu/distinfo b/x11/libxfce4menu/distinfo
index dde1b82f800cc862726d450d91a2daa8865ce1b8..fcb0e32db3a5fffcf58471c33dbd8a31ef93acb5 100644
--- a/x11/libxfce4menu/distinfo
+++ b/x11/libxfce4menu/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1709890032
-SHA256 (xfce4/libxfce4ui-4.18.6.tar.bz2) = 77dd99206cc8c6c7f69c269c83c7ee6a037bca9d4a89b1a6d9765e5a09ce30cd
-SIZE (xfce4/libxfce4ui-4.18.6.tar.bz2) = 906477
+TIMESTAMP = 1734289732
+SHA256 (xfce4/libxfce4ui-4.20.0.tar.bz2) = 75e8996984f20375aadecd5c16f5147c211ed0bd26d7861ab0257561eb76eaee
+SIZE (xfce4/libxfce4ui-4.20.0.tar.bz2) = 1199495
diff --git a/x11/libxfce4menu/files/patch-xfce4-about_main.c b/x11/libxfce4menu/files/patch-xfce4-about_main.c
new file mode 100644
index 0000000000000000000000000000000000000000..cdc9902cfc7300b778632ba22f215b43682ecfc3
--- /dev/null
+++ b/x11/libxfce4menu/files/patch-xfce4-about_main.c
@@ -0,0 +1,34 @@
+--- xfce4-about/main.c.orig	2024-11-29 19:21:01 UTC
++++ xfce4-about/main.c
+@@ -24,6 +24,10 @@
+ #include <stdlib.h>
+ #endif
+ 
++#ifdef __FreeBSD__
++#include <unistd.h>
++#endif
++
+ #ifdef ENABLE_X11
+ #include <gdk/gdkx.h>
+ #endif
+@@ -98,7 +102,7 @@ xfce_about_system (GtkBuilder *builder)
+       else
+         {
+           const gchar *extensions[] = { "svg", "png" };
+-          g_autofree gchar *pixmap_path = g_strconcat ("/usr/share/pixmaps/", os_logo, ".", NULL);
++          g_autofree gchar *pixmap_path = g_strconcat ("%%PREFIX%%/share/pixmaps/", os_logo, ".", NULL);
+ 
+           for (guint i = 0; i < G_N_ELEMENTS (extensions); i++)
+             {
+@@ -142,7 +146,11 @@ xfce_about_system (GtkBuilder *builder)
+   gtk_label_set_text (GTK_LABEL (label), gtk_text);
+ 
+   label = gtk_builder_get_object (builder, "kernel-version");
++#ifdef __FreeBSD__
++  kernel_text = g_strdup_printf ("%d", getosreldate ());
++#else
+   kernel_text = get_system_info (KERNEL);
++#endif
+   gtk_label_set_text (GTK_LABEL (label), kernel_text ? kernel_text : "");
+ 
+   label = gtk_builder_get_object (builder, "windowing-system");
diff --git a/x11/libxfce4menu/files/patch-xfce4-about_system-info.c b/x11/libxfce4menu/files/patch-xfce4-about_system-info.c
new file mode 100644
index 0000000000000000000000000000000000000000..743f38c2136d3add461e4016ef0c8533bca8dfe6
--- /dev/null
+++ b/x11/libxfce4menu/files/patch-xfce4-about_system-info.c
@@ -0,0 +1,32 @@
+--- xfce4-about/system-info.c.orig	2024-10-19 08:20:00 UTC
++++ xfce4-about/system-info.c
+@@ -662,8 +662,9 @@ get_os_name (void)
+ get_os_name (void)
+ {
+   GHashTable *os_info;
+-  gchar *name, *version_id, *pretty_name, *build_id;
++  gchar *name, *version_id, *build_id;
+   gchar *result = NULL;
++  gchar *kernel_version = NULL;
+   g_autofree gchar *name_version = NULL;
+ 
+   os_info = get_os_info ();
+@@ -677,13 +678,13 @@ get_os_name (void)
+ 
+   name = g_hash_table_lookup (os_info, "NAME");
+   version_id = g_hash_table_lookup (os_info, "VERSION_ID");
+-  pretty_name = g_hash_table_lookup (os_info, "PRETTY_NAME");
+   build_id = g_hash_table_lookup (os_info, "BUILD_ID");
+ 
+-  if (pretty_name)
+-    name_version = g_strdup (pretty_name);
+-  else if (name && version_id)
+-    name_version = g_strdup_printf ("%s %s", name, version_id);
++  /* Don't use PRETTY_NAME value because sometimes mismatch with uname -r */
++  kernel_version = get_system_info (KERNEL);
++
++  if (name && kernel_version)
++    name_version = g_strdup_printf ("%s %s", name, kernel_version);
+   else
+     name_version = g_strdup (_("Unknown"));
+ 
diff --git a/x11/libxfce4menu/pkg-plist b/x11/libxfce4menu/pkg-plist
index 88f43b1de3f05db6a6ed4bfdce085b0dba679413..027b1b682e0201a81fce140b05a72b60e335dc70 100644
--- a/x11/libxfce4menu/pkg-plist
+++ b/x11/libxfce4menu/pkg-plist
@@ -8,8 +8,10 @@ include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcuts-provider.
 include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcuts-xfwm4.h
 include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcuts.h
 include/xfce4/libxfce4ui-2/libxfce4ui/libxfce4ui-config.h
+include/xfce4/libxfce4ui-2/libxfce4ui/libxfce4ui-enums.h
 include/xfce4/libxfce4ui-2/libxfce4ui/libxfce4ui-enum-types.h
 include/xfce4/libxfce4ui-2/libxfce4ui/libxfce4ui.h
+include/xfce4/libxfce4ui-2/libxfce4ui/xfce-clipboard-manager.h
 include/xfce4/libxfce4ui-2/libxfce4ui/xfce-dialogs.h
 include/xfce4/libxfce4ui-2/libxfce4ui/xfce-filename-input.h
 include/xfce4/libxfce4ui-2/libxfce4ui/xfce-gdk-extensions.h
diff --git a/x11/libxfce4util/Makefile b/x11/libxfce4util/Makefile
index 814eb8798852c50f331555d8132fc318d68598d6..35b615d6085a27587d795fd6bb200da1cc3159d0 100644
--- a/x11/libxfce4util/Makefile
+++ b/x11/libxfce4util/Makefile
@@ -1,23 +1,23 @@
 PORTNAME=	libxfce4util
-PORTVERSION=	4.18.2
+PORTVERSION=	4.20.0
 CATEGORIES=	x11 xfce
 MASTER_SITES=	XFCE
 DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	Extension library for the Xfce desktop environment
-WWW=		https://www.xfce.org/
+WWW=		https://gitlab.xfce.org/xfce/libxfce4util
 
 LICENSE=	GPLv2
 
-USES=		compiler:c11 gettext-tools gmake gnome libtool pathfix perl5 \
-		pkgconfig tar:bzip2 xfce
-USE_GNOME=	glib20 intltool
+USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig tar:bzip2 xfce
+USE_GNOME=	glib20
 USE_LDCONFIG=	yes
+USE_XFCE=	xdt
 
 GNU_CONFIGURE=	yes
-INSTALL_TARGET=	install-strip
 CONFIGURE_ARGS=	--without-html-dir
+INSTALL_TARGET=	install-strip
 
 PORTSCOUT=	limitw:1,even
 
@@ -27,16 +27,16 @@ 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_CONFIGURE_ENV=	LIBS=-lintl LDFLAGS=-L${LOCALBASE}/lib
 NLS_USES=		gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
+#NLS_CONFIGURE_ENV=	LIBS=-lintl LDFLAGS=-L${LOCALBASE}/lib
 
+VAPI_IMPLIES=		GIR
 VAPI_USES=		vala:build
 VAPI_CONFIGURE_ENABLE=	vala
-VAPI_IMPLIES=		GIR
 
 .include <bsd.port.mk>
diff --git a/x11/libxfce4util/distinfo b/x11/libxfce4util/distinfo
index ce11234ba0c9ddcb792c556af092e2c647928922..6c0f62a301cf8955489d8f032dc4a9828b7f7f3f 100644
--- a/x11/libxfce4util/distinfo
+++ b/x11/libxfce4util/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1707162525
-SHA256 (xfce4/libxfce4util-4.18.2.tar.bz2) = d9a329182b78f7e2520cd4aafcbb276bbbf162f6a89191676539ad2e3889c353
-SIZE (xfce4/libxfce4util-4.18.2.tar.bz2) = 514157
+TIMESTAMP = 1734286302
+SHA256 (xfce4/libxfce4util-4.20.0.tar.bz2) = 21493f9c9995a282823db93839f6b9f06ae31edb094191ba9acf04d932a2b592
+SIZE (xfce4/libxfce4util-4.20.0.tar.bz2) = 616303
diff --git a/x11/libxfce4util/pkg-plist b/x11/libxfce4util/pkg-plist
index 1f693701919c74f0b7698f72feb16d4c620a332a..7af7dd5f284b330139a3a1a8897b48ab1cc1aa5e 100644
--- a/x11/libxfce4util/pkg-plist
+++ b/x11/libxfce4util/pkg-plist
@@ -1,5 +1,6 @@
 include/xfce4/libxfce4util/libxfce4util-config.h
 include/xfce4/libxfce4util/libxfce4util.h
+include/xfce4/libxfce4util/xfce-consolekit.h
 include/xfce4/libxfce4util/xfce-debug.h
 include/xfce4/libxfce4util/xfce-fileutils.h
 include/xfce4/libxfce4util/xfce-generics.h
@@ -12,6 +13,7 @@ include/xfce4/libxfce4util/xfce-posix-signal-handler.h
 include/xfce4/libxfce4util/xfce-rc.h
 include/xfce4/libxfce4util/xfce-resource.h
 include/xfce4/libxfce4util/xfce-string.h
+include/xfce4/libxfce4util/xfce-systemd.h
 include/xfce4/libxfce4util/xfce-utf8.h
 %%GIR%%lib/girepository-1.0/Libxfce4util-1.0.typelib
 lib/libxfce4util.so
@@ -38,6 +40,7 @@ sbin/xfce4-kiosk-query
 %%NLS%%share/locale/es/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/et/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/eu/LC_MESSAGES/libxfce4util.mo
+%%NLS%%share/locale/fa_IR/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/fi/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/fr/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/gl/LC_MESSAGES/libxfce4util.mo
@@ -75,6 +78,7 @@ sbin/xfce4-kiosk-query
 %%NLS%%share/locale/sq/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/sr/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/sv/LC_MESSAGES/libxfce4util.mo
+%%NLS%%share/locale/te/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/th/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/tr/LC_MESSAGES/libxfce4util.mo
 %%NLS%%share/locale/ug/LC_MESSAGES/libxfce4util.mo
diff --git a/x11/libxfce4windowing/Makefile b/x11/libxfce4windowing/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..0467a2c9080f3f9b19fe895ccc4095beb5ee03f8
--- /dev/null
+++ b/x11/libxfce4windowing/Makefile
@@ -0,0 +1,40 @@
+PORTNAME=	libxfce4windowing
+DISTVERSION=	4.20.0
+CATEGORIES=	x11 xfce
+MASTER_SITES=	XFCE
+DIST_SUBDIR=	xfce4
+
+MAINTAINER=	xfce@FreeBSD.org
+COMMENT=	Windowing concept abstraction library for X11 and Wayland
+WWW=		https://gitlab.xfce.org/xfce/libxfce4windowing
+
+LICENSE=	GPLv2
+
+LIB_DEPENDS=	libdisplay-info.so:sysutils/libdisplay-info
+
+USES=		gettext-tools gmake gnome pkgconfig tar:bz2 xfce xorg
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 libwnck3
+USE_LDCONFIG=	yes
+USE_XFCE=	xdt
+USE_XORG=	x11 xrandr
+
+GNU_CONFIGURE=	yes
+INSTALL_TARGET=	install-strip
+
+OPTIONS_DEFINE=		GIR NLS WAYLAND
+OPTIONS_DEFAULT=	GIR WAYLAND
+OPTIONS_SUB=		yes
+
+GIR_DESC=	GObject Introspection support
+
+GIR_USE=	GNOME=introspection:build
+GIR_MESON_TRUE=	introspection
+
+NLS_USES=	gettext-runtime
+NLS_CONFIGURE_ENABLE=	nls
+
+WAYLAND_BUILD_DEPENDS=	wayland-protocols>0:graphics/wayland-protocols
+WAYLAND_LIB_DEPENDS=	libwayland-client.so:graphics/wayland
+WAYLAND_CONFIGURE_ENABLE=wayland
+
+.include <bsd.port.mk>
diff --git a/x11/libxfce4windowing/distinfo b/x11/libxfce4windowing/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..db29bd532b3800081da6490cf6fb3832995ff466
--- /dev/null
+++ b/x11/libxfce4windowing/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734285158
+SHA256 (xfce4/libxfce4windowing-4.20.0.tar.bz2) = 56f29b1d79606fb00a12c83ef4ece12877d2b22bf1acaaff89537fbe8e939f68
+SIZE (xfce4/libxfce4windowing-4.20.0.tar.bz2) = 596847
diff --git a/x11/libxfce4windowing/pkg-descr b/x11/libxfce4windowing/pkg-descr
new file mode 100644
index 0000000000000000000000000000000000000000..160abbc1b1651f4f125fd0b38661356ebd3be60e
--- /dev/null
+++ b/x11/libxfce4windowing/pkg-descr
@@ -0,0 +1,3 @@
+Libxfce4windowing is an abstraction library that attempts to present
+windowing concepts (screens, toplevel windows, workspaces, etc.) in
+a windowing-system-independent manner.
diff --git a/x11/libxfce4windowing/pkg-plist b/x11/libxfce4windowing/pkg-plist
new file mode 100644
index 0000000000000000000000000000000000000000..327697212247219400ccce70c9f315a84f374da6
--- /dev/null
+++ b/x11/libxfce4windowing/pkg-plist
@@ -0,0 +1,69 @@
+include/xfce4/libxfce4windowing/libxfce4windowing-config.h
+include/xfce4/libxfce4windowing/libxfce4windowing.h
+include/xfce4/libxfce4windowing/xfw-application.h
+include/xfce4/libxfce4windowing/xfw-monitor.h
+include/xfce4/libxfce4windowing/xfw-screen.h
+include/xfce4/libxfce4windowing/xfw-seat.h
+include/xfce4/libxfce4windowing/xfw-util.h
+include/xfce4/libxfce4windowing/xfw-window.h
+include/xfce4/libxfce4windowing/xfw-workspace-group.h
+include/xfce4/libxfce4windowing/xfw-workspace-manager.h
+include/xfce4/libxfce4windowing/xfw-workspace.h
+include/xfce4/libxfce4windowing/xfw-x11.h
+include/xfce4/libxfce4windowingui/libxfce4windowingui-config.h
+include/xfce4/libxfce4windowingui/libxfce4windowingui.h
+include/xfce4/libxfce4windowingui/xfw-window-action-menu.h
+include/xfce4/libxfce4windowingui/xfw-window-list-menu.h
+%%GIR%%lib/girepository-1.0/Libxfce4windowing-0.0.typelib
+%%GIR%%lib/girepository-1.0/Libxfce4windowingui-0.0.typelib
+lib/libxfce4windowing-0.so
+lib/libxfce4windowing-0.so.0
+lib/libxfce4windowing-0.so.0.0.0
+lib/libxfce4windowingui-0.so
+lib/libxfce4windowingui-0.so.0
+lib/libxfce4windowingui-0.so.0.0.0
+libdata/pkgconfig/libxfce4windowing-0.pc
+libdata/pkgconfig/libxfce4windowing-x11-0.pc
+libdata/pkgconfig/libxfce4windowingui-0.pc
+%%GIR%%share/gir-1.0/Libxfce4windowing-0.0.gir
+%%GIR%%share/gir-1.0/Libxfce4windowingui-0.0.gir
+%%NLS%%share/locale/ast/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/bg/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/da/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/de/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/el/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/en_CA/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/en_GB/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/es/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/et/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/ga/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/gl/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/he/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/id/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/ie/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/it/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/kk/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/ko/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/nb/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/oc/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/sl/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/sq/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/libxfce4windowing.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/libxfce4windowing.mo
diff --git a/x11/xfce4-conf/Makefile b/x11/xfce4-conf/Makefile
index 9d095f3815e3b300370b8c45de4ebbacf42a6593..bceb7f4a084c892f40ef2b30a0626229d77a9d4b 100644
--- a/x11/xfce4-conf/Makefile
+++ b/x11/xfce4-conf/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	xfce4-conf
-PORTVERSION=	4.18.3
+PORTVERSION=	4.20.0
 CATEGORIES=	x11 xfce
 MASTER_SITES=	XFCE
 DISTNAME=	xfconf-${DISTVERSIONFULL}
@@ -7,24 +7,22 @@ DIST_SUBDIR=	xfce4
 
 MAINTAINER=	xfce@FreeBSD.org
 COMMENT=	D-Bus-based configuration storage system
-WWW=		https://www.xfce.org/projects
+WWW=		https://gitlab.xfce.org/xfce/xfconf
 
 LICENSE=	GPLv2
 
-BUILD_DEPENDS=	p5-XML-Parser>=2.44:textproc/p5-XML-Parser
-
 USES=		compiler:c11 gettext-tools gmake gnome libtool pathfix perl5 \
 		pkgconfig tar:bzip2 xfce xorg
-USE_GNOME=	glib20 intltool
+USE_GNOME=	glib20
 USE_LDCONFIG=	yes
 USE_PERL5=	build
 USE_XFCE=	libutil
 USE_XORG=	x11
 
 GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--without-bash-completion-dir \
+		--without-html-dir
 INSTALL_TARGET=	install-strip
-CONFIGURE_ARGS=	--without-html-dir \
-		--without-bash-completion-dir
 
 PORTSCOUT=	limitw:1,even
 
@@ -32,17 +30,21 @@ OPTIONS_DEFINE=		GIR NLS VAPI
 OPTIONS_DEFAULT=	GIR VAPI
 OPTIONS_SUB=		yes
 
-GIR_DESC=		Use Gobject Introspection
+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
 
+VAPI_IMPLIES=		GIR
 VAPI_USES=		vala:build
 VAPI_CONFIGURE_ENABLE=	vala
-VAPI_IMPLIES=		GIR
+
+post-patch:
+	@${REINPLACE_CMD} -i "" -e 's|SystemdService|#SystemdService|' \
+		${WRKSRC}/xfconfd/org.xfce.Xfconf.service.in
 
 .include <bsd.port.mk>
diff --git a/x11/xfce4-conf/distinfo b/x11/xfce4-conf/distinfo
index e7d8c6c39f496c506dbc99bf93cef79e7e564170..691b96d07d9cc3a2a6192bf98038c055dbce9ca1 100644
--- a/x11/xfce4-conf/distinfo
+++ b/x11/xfce4-conf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1698779774
-SHA256 (xfce4/xfconf-4.18.3.tar.bz2) = c56cc69056f6947b2c60b165ec1e4c2b0acf26a778da5f86c89ffce24d5ebd98
-SIZE (xfce4/xfconf-4.18.3.tar.bz2) = 648479
+TIMESTAMP = 1734296864
+SHA256 (xfce4/xfconf-4.20.0.tar.bz2) = 8bc43c60f1716b13cf35fc899e2a36ea9c6cdc3478a8f051220eef0f53567efd
+SIZE (xfce4/xfconf-4.20.0.tar.bz2) = 763205
diff --git a/x11/xfce4-conf/files/patch-xfconfd_Makefile.in b/x11/xfce4-conf/files/patch-xfconfd_Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..6636bd67d09859f31289c093167ae4a6322846f5
--- /dev/null
+++ b/x11/xfce4-conf/files/patch-xfconfd_Makefile.in
@@ -0,0 +1,113 @@
+--- xfconfd/Makefile.in.orig	2024-11-01 21:29:06 UTC
++++ xfconfd/Makefile.in
+@@ -114,8 +114,7 @@ CONFIG_CLEAN_VPATH_FILES =
+ CONFIG_HEADER = $(top_builddir)/config.h
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+-am__installdirs = "$(DESTDIR)$(xfconfddir)" "$(DESTDIR)$(servicedir)" \
+-	"$(DESTDIR)$(systemd_userdir)"
++am__installdirs = "$(DESTDIR)$(xfconfddir)" "$(DESTDIR)$(servicedir)"
+ PROGRAMS = $(xfconfd_PROGRAMS)
+ am__xfconfd_SOURCES_DIST = main.c xfconf-backend-factory.c \
+ 	xfconf-backend-factory.h xfconf-backend.c xfconf-backend.h \
+@@ -225,7 +224,7 @@ am__uninstall_files_from_dir = { \
+     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+          $(am__cd) "$$dir" && rm -f $$files; }; \
+   }
+-DATA = $(service_DATA) $(systemd_user_DATA)
++DATA = $(service_DATA)
+ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+ # Read a list of newline-separated strings from the standard input,
+ # and print each of them once, without duplicates.  Input order is
+@@ -482,18 +481,13 @@ service_DATA = $(service_in_files:org.xfce.%.service.i
+ servicedir = $(datadir)/dbus-1/services
+ service_in_files = org.xfce.Xfconf.service.in
+ service_DATA = $(service_in_files:org.xfce.%.service.in=@XFCONF_SERVICE_NAME_PREFIX@.%.service)
+-systemd_userdir = $(prefix)/lib/systemd/user
+-systemd_user_in_files = xfconfd.service.in
+-systemd_user_DATA = $(systemd_user_in_files:.service.in=.service)
+ CLEANFILES = \
+-	$(service_DATA) \
+-	$(systemd_user_DATA)
++	$(service_DATA)
+ 
+ EXTRA_DIST = \
+ 	xfconf-backend-perchannel-xml.c \
+ 	xfconf-backend-perchannel-xml.h \
+-	$(service_in_files) \
+-	$(systemd_user_in_files)
++	$(service_in_files)
+ 
+ all: all-am
+ 
+@@ -775,28 +769,7 @@ uninstall-serviceDATA:
+ 	@list='$(service_DATA)'; test -n "$(servicedir)" || list=; \
+ 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ 	dir='$(DESTDIR)$(servicedir)'; $(am__uninstall_files_from_dir)
+-install-systemd_userDATA: $(systemd_user_DATA)
+-	@$(NORMAL_INSTALL)
+-	@list='$(systemd_user_DATA)'; test -n "$(systemd_userdir)" || list=; \
+-	if test -n "$$list"; then \
+-	  echo " $(MKDIR_P) '$(DESTDIR)$(systemd_userdir)'"; \
+-	  $(MKDIR_P) "$(DESTDIR)$(systemd_userdir)" || exit 1; \
+-	fi; \
+-	for p in $$list; do \
+-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+-	  echo "$$d$$p"; \
+-	done | $(am__base_list) | \
+-	while read files; do \
+-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemd_userdir)'"; \
+-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(systemd_userdir)" || exit $$?; \
+-	done
+ 
+-uninstall-systemd_userDATA:
+-	@$(NORMAL_UNINSTALL)
+-	@list='$(systemd_user_DATA)'; test -n "$(systemd_userdir)" || list=; \
+-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+-	dir='$(DESTDIR)$(systemd_userdir)'; $(am__uninstall_files_from_dir)
+-
+ ID: $(am__tagged_files)
+ 	$(am__define_uniq_tagged_files); mkid -fID $$unique
+ tags: tags-am
+@@ -888,7 +861,7 @@ installdirs:
+ check: check-am
+ all-am: Makefile $(PROGRAMS) $(DATA)
+ installdirs:
+-	for dir in "$(DESTDIR)$(xfconfddir)" "$(DESTDIR)$(servicedir)" "$(DESTDIR)$(systemd_userdir)"; do \
++	for dir in "$(DESTDIR)$(xfconfddir)" "$(DESTDIR)$(servicedir)"; do \
+ 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ 	done
+ install: install-am
+@@ -954,7 +927,7 @@ info-am:
+ 
+ info-am:
+ 
+-install-data-am: install-serviceDATA install-systemd_userDATA \
++install-data-am: install-serviceDATA \
+ 	install-xfconfdPROGRAMS
+ 
+ install-dvi: install-dvi-am
+@@ -1008,7 +981,7 @@ ps-am:
+ 
+ ps-am:
+ 
+-uninstall-am: uninstall-serviceDATA uninstall-systemd_userDATA \
++uninstall-am: uninstall-serviceDATA \
+ 	uninstall-xfconfdPROGRAMS
+ 
+ .MAKE: install-am install-strip
+@@ -1022,12 +995,12 @@ uninstall-am: uninstall-serviceDATA uninstall-systemd_
+ 	install-dvi-am install-exec install-exec-am install-html \
+ 	install-html-am install-info install-info-am install-man \
+ 	install-pdf install-pdf-am install-ps install-ps-am \
+-	install-serviceDATA install-strip install-systemd_userDATA \
++	install-serviceDATA install-strip \
+ 	install-xfconfdPROGRAMS installcheck installcheck-am \
+ 	installdirs maintainer-clean maintainer-clean-generic \
+ 	mostlyclean mostlyclean-compile mostlyclean-generic \
+ 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+-	uninstall-am uninstall-serviceDATA uninstall-systemd_userDATA \
++	uninstall-am uninstall-serviceDATA \
+ 	uninstall-xfconfdPROGRAMS
+ 
+ .PRECIOUS: Makefile
diff --git a/x11/xfce4-conf/pkg-plist b/x11/xfce4-conf/pkg-plist
index 89aa9e5c95bf39713fc19dda4cfb873fd30dbb70..c88baba27295e6180689e317d4ee068bc13a656c 100644
--- a/x11/xfce4-conf/pkg-plist
+++ b/x11/xfce4-conf/pkg-plist
@@ -27,6 +27,7 @@ share/dbus-1/services/org.xfce.Xfconf.service
 %%NLS%%share/locale/en_CA/LC_MESSAGES/xfconf.mo
 %%NLS%%share/locale/en_GB/LC_MESSAGES/xfconf.mo
 %%NLS%%share/locale/es/LC_MESSAGES/xfconf.mo
+%%NLS%%share/locale/et/LC_MESSAGES/xfconf.mo
 %%NLS%%share/locale/eu/LC_MESSAGES/xfconf.mo
 %%NLS%%share/locale/fi/LC_MESSAGES/xfconf.mo
 %%NLS%%share/locale/fr/LC_MESSAGES/xfconf.mo
diff --git a/x11/xfce4-dashboard/Makefile b/x11/xfce4-dashboard/Makefile
index 8cffae2503ba4054b6d1bd660ee1f6dc9f36119b..2d68ba977de400f06bce4922d8d91f8d50d3c3db 100644
--- a/x11/xfce4-dashboard/Makefile
+++ b/x11/xfce4-dashboard/Makefile
@@ -13,18 +13,18 @@ WWW=		https://docs.xfce.org/apps/xfdashboard/start
 
 LICENSE=	GPLv2
 
-LIB_DEPENDS=	libjson-glib-1.0.so:devel/json-glib \
+LIB_DEPENDS=	libclutter-1.0.so:graphics/clutter \
 		libcogl.so:graphics/cogl \
-		libclutter-1.0.so:graphics/clutter \
-		libharfbuzz.so:print/harfbuzz
+		libharfbuzz.so:print/harfbuzz \
+		libjson-glib-1.0.so:devel/json-glib
 
-USES=		compiler:c11 gettext-tools gl gmake gnome localbase libtool \
+USES=		compiler:c11 gettext-tools gl gmake gnome libtool localbase \
 		pathfix perl5 pkgconfig tar:bzip2 xfce xorg
+USE_GL=		egl
 USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool libwnck3
+USE_LDCONFIG=	yes
 USE_XFCE=	garcon xfconf
 USE_XORG=	x11 xcomposite xdamage xext xfixes xi xinerama xrandr
-USE_GL=		egl
-USE_LDCONFIG=	yes
 
 GNU_CONFIGURE=	yes
 INSTALL_TARGET=	install-strip
@@ -32,7 +32,7 @@ INSTALL_TARGET=	install-strip
 OPTIONS_DEFINE=	NLS
 OPTIONS_SUB=	yes
 
+NLS_USES=		gettext-runtime
 NLS_CONFIGURE_ENABLE=	nls
-NLS_USES=	gettext-runtime
 
 .include <bsd.port.mk>
diff --git a/x11/xfce4-goodies/Makefile b/x11/xfce4-goodies/Makefile
index 72099bd9b7973e813e04f55721b3d97136129915..dafad746337ef167168f7a76a39c9eb6ab84b1da 100644
--- a/x11/xfce4-goodies/Makefile
+++ b/x11/xfce4-goodies/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	xfce4-goodies
-PORTVERSION=	4.18
-PORTREVISION=	4
+PORTVERSION=	4.20
 CATEGORIES=	x11
 
 MAINTAINER=	xfce@FreeBSD.org
diff --git a/x11/xfce4-screensaver/Makefile b/x11/xfce4-screensaver/Makefile
index 9c314a60894cec9d45bd049703a5c701a1f97b74..6a4bf0cda47ae0d9a67de043070996a1404249c9 100644
--- a/x11/xfce4-screensaver/Makefile
+++ b/x11/xfce4-screensaver/Makefile
@@ -26,12 +26,11 @@ USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool libwnck3
 USE_XFCE=	garcon xfconf
 USE_XORG=	ice sm x11 xext xrandr xscrnsaver xxf86vm
 
-SHEBANG_FILES=			src/xfce4-screensaver-configure
-GNU_CONFIGURE=			yes
-GNU_CONFIGURE_MANPREFIX=	${PREFIX}/share
-CONFIGURE_ARGS=			--enable-maintainer-mode \
-				--with-console-kit=yes \
-				--with-systemd=no
+SHEBANG_FILES=	src/xfce4-screensaver-configure
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--enable-maintainer-mode \
+		--with-console-kit=yes \
+		--with-systemd=no
 
 SCREENSAVER_DIR=	share/applications/screensavers
 
diff --git a/x11/xfce4-screenshooter-plugin/Makefile b/x11/xfce4-screenshooter-plugin/Makefile
index cb97c87d8f954530208fb6ed77d7f54317a0fdd2..a3547c3339967d5a732f80b95c84e4db891c9c6c 100644
--- a/x11/xfce4-screenshooter-plugin/Makefile
+++ b/x11/xfce4-screenshooter-plugin/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	xfce4-screenshooter-plugin
 PORTVERSION=	1.11.1
+PORTREVISION=	1
 CATEGORIES=	x11 xfce
 MASTER_SITES=	XFCE/apps
 DISTNAME=	xfce4-screenshooter-${DISTVERSIONFULL}
@@ -17,20 +18,18 @@ LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
 USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
 		tar:bzip2 xfce xorg
 USE_CSTD=	c99
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30
 USE_XFCE=	libexo libmenu panel xfconf
-USE_XORG=	ice sm x11 xfixes xext
+USE_XORG=	ice sm x11 xext xfixes
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--disable-wayland
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
 INSTALL_TARGET=	install-strip
 
-OPTIONS_DEFINE=		NLS IMGUR
-OPTIONS_DEFAULT=	IMGUR
+OPTIONS_DEFINE=		IMGUR NLS WAYLAND
+OPTIONS_DEFAULT=	IMGUR WAYLAND
 OPTIONS_SUB=		yes
 
-IMGUR_DESC=		Install imgur image upload custom action
+IMGUR_DESC=	Install imgur image upload custom action
 
 IMGUR_RUN_DEPENDS=	curl:ftp/curl \
 			jq:textproc/jq \
@@ -40,6 +39,9 @@ IMGUR_RUN_DEPENDS=	curl:ftp/curl \
 NLS_USES=		gettext-runtime
 NLS_CONFIGURE_ENABLE=	nls
 
+WAYLAND_LIB_DEPENDS=		libwayland-client.so:graphics/wayland
+WAYLAND_CONFIGURE_ENABLE=	wayland
+
 post-patch-IMGUR-off:
 	@${REINPLACE_CMD} '/imgur_custom_action_added = xfconf_channel_get_bool/s/FALSE/TRUE/' \
 		${WRKSRC}/lib/screenshooter-custom-actions.c
diff --git a/x11/xfce4-terminal/Makefile b/x11/xfce4-terminal/Makefile
index dc0b57b3e72dc9be8a22563599e9d9e702f400bb..ecba8456b19a4c2d2383f42ef76a283ff841a4fd 100644
--- a/x11/xfce4-terminal/Makefile
+++ b/x11/xfce4-terminal/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	xfce4-terminal
 PORTVERSION=	1.1.3
+PORTREVISION=	1
 CATEGORIES=	x11 xfce
 MASTER_SITES=	XFCE/apps
 DIST_SUBDIR=	xfce4
@@ -15,14 +16,13 @@ LIB_DEPENDS=	libpcre2-8.so:devel/pcre2
 
 USES=		compiler:c11 gettext-tools gmake gnome pkgconfig tar:bzip2 xfce \
 		xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool vte3
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 vte3 intltool:build
 USE_XFCE=	libmenu xfconf
 USE_XORG=	ice sm x11
 
-GNU_CONFIGURE=		yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
-CONFIGURE_ARGS=		--with-utempter
-INSTALL_TARGET=		install-strip
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--with-utempter
+INSTALL_TARGET=	install-strip
 
 OPTIONS_DEFINE=	NLS
 OPTIONS_SUB=	yes
diff --git a/x11/xfce4-verve-plugin/Makefile b/x11/xfce4-verve-plugin/Makefile
index dfad64c142f5987abdcd34701adfd68ff4b18d1a..cb9a2d976be8930e04beb188f932fbe43cbc5a6d 100644
--- a/x11/xfce4-verve-plugin/Makefile
+++ b/x11/xfce4-verve-plugin/Makefile
@@ -13,8 +13,8 @@ WWW=		https://goodies.xfce.org/projects/panel-plugins/xfce4-verve-plugin
 
 LICENSE=	GPLv2
 
-LIB_DEPENDS=	libpcre2-8.so:devel/pcre2 \
-		libharfbuzz.so:print/harfbuzz
+LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz \
+		libpcre2-8.so:devel/pcre2
 
 USES=		compiler:c11 gettext-tools gmake gnome libtool pkgconfig \
 		tar:bzip2 xfce
@@ -22,13 +22,13 @@ USE_GNOME=	atk cairo gdkpixbuf2 glib20 gtk30 intltool pango
 USE_XFCE=	libmenu panel
 
 GNU_CONFIGURE=	yes
-INSTALL_TARGET=	install-strip
 CONFIGURE_ARGS=	--enable-dbus
+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/x11/xfce4-windowck-plugin/Makefile b/x11/xfce4-windowck-plugin/Makefile
index 90a041e931b55e020d0e49f3822ddb69612b1265..8e02ee855423e02f69ee8f87cd90e23d4ea86ced 100644
--- a/x11/xfce4-windowck-plugin/Makefile
+++ b/x11/xfce4-windowck-plugin/Makefile
@@ -12,20 +12,19 @@ WWW=		https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin
 LICENSE=	GPLv2
 
 LIB_DEPENDS=	libharfbuzz.so:print/harfbuzz
-BUILD_DEPENDS=	xdt-csource:devel/xfce4-dev-tools
 
-USES=		gettext-tools gmake gnome libtool python:build pkgconfig \
+USES=		gettext-tools gmake gnome libtool pkgconfig python:build \
 		shebangfix tar:bzip2 xfce xorg
-USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 libwnck3 intltool
-USE_XFCE=	libmenu panel xfconf
+USE_GNOME=	cairo gdkpixbuf2 glib20 gtk30 intltool libwnck3
+USE_XFCE=	libmenu panel xdt xfconf
 USE_XORG=	x11
 SHEBANG_GLOB=	*.py
 
-GNU_CONFIGURE=		yes
-INSTALL_TARGET=		install-strip
+GNU_CONFIGURE=	yes
+INSTALL_TARGET=	install-strip
 
-OPTIONS_DEFINE=		NLS
-OPTIONS_SUB=		yes
+OPTIONS_DEFINE=	NLS
+OPTIONS_SUB=	yes
 
 NLS_USES=		gettext-runtime
 NLS_CONFIGURE_ENABLE=	nls