git: 577a8c512a45 - main - x11/budgie-desktop: update to 10.9.3

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Wed, 24 Sep 2025 21:52:30 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=577a8c512a45828a2334b781c1243838b1162dce

commit 577a8c512a45828a2334b781c1243838b1162dce
Author:     Olivier Duchateau <duchateau.olivier@gmail.com>
AuthorDate: 2025-09-24 13:49:16 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-09-24 21:52:18 +0000

    x11/budgie-desktop: update to 10.9.3
    
    Changelog:
    - https://github.com/BuddiesOfBudgie/budgie-desktop/releases/tag/v10.9
    - https://github.com/BuddiesOfBudgie/budgie-desktop/releases/tag/v10.9.1
    - https://github.com/BuddiesOfBudgie/budgie-desktop/releases/tag/v10.9.2
    - https://github.com/BuddiesOfBudgie/budgie-desktop/releases/tag/v10.9.3
    
    PR:             289413
    Reported by:    Olivier Duchateau <duchateau.olivier@gmail.com> (maintainer)
---
 x11/budgie-desktop/Makefile                        |  39 +-
 x11/budgie-desktop/distinfo                        |   6 +-
 ...ddiesofbudgie-default-settings.gschema.override |   7 +-
 .../files/patch-data_budgie-portals.conf           |   7 +
 x11/budgie-desktop/files/patch-data_meson.build    |  20 +-
 x11/budgie-desktop/files/patch-meson.build         |  13 +-
 .../files/patch-src_appindexer_Application.vala    |   8 +-
 .../files/patch-src_appindexer_meson.build         |   4 +-
 .../files/patch-src_daemon_bsd_meson.build         |  11 +
 ...rc_daemon_bsd_plugins_power_gsd-power-manager.c |  60 ++
 .../files/patch-src_lib_animation.vala             |  10 -
 ...-src_panel_applets_icon-tasklist_animation.vala |  10 -
 ...atch-src_panel_applets_status_StatusApplet.vala |  30 -
 .../patch-src_panel_applets_status_meson.build     |  10 -
 .../files/patch-src_panel_manager.vala             |  10 -
 .../files/patch-src_panel_settings_themes.vala     |  10 -
 .../files/patch-src_session_budgie-desktop.in      |   8 -
 .../files/patch-src_session_meson.build            |  52 +-
 .../patch-update-libxfce4windowing-vapi.patch      | 893 +++++++++++++++++++++
 x11/budgie-desktop/pkg-plist                       |  38 +-
 20 files changed, 1067 insertions(+), 179 deletions(-)

diff --git a/x11/budgie-desktop/Makefile b/x11/budgie-desktop/Makefile
index 84b91c11fbcc..6e36739534e8 100644
--- a/x11/budgie-desktop/Makefile
+++ b/x11/budgie-desktop/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	budgie-desktop
-DISTVERSION=	10.8.2
-PORTREVISION=	7
 DISTVERSIONPREFIX=	v
+DISTVERSION=	10.9.3
 CATEGORIES=	x11 budgie
 MASTER_SITES=	BUDGIE
 
@@ -9,13 +8,15 @@ MAINTAINER=	duchateau.olivier@gmail.com
 COMMENT=	Modern and familiar desktop environment
 WWW=		https://github.com/BuddiesOfBudgie/budgie-desktop
 
-LICENSE_COMB=	multi
-LICENSE=	GPLv2 LGPL21
+LICENSE=		GPLv2 LGPL21
+LICENSE_COMB=		multi
+LICENSE_FILE_GPLv2=	${WRKSRC}/LICENSE
+LICENSE_FILE_LGPL21=	${WRKSRC}/LICENSE.LGPL2.1
 
 BUILD_DEPENDS=	gnome-settings-daemon>0:sysutils/gnome-settings-daemon \
 		gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas \
 		sassc:textproc/sassc \
-		zenity>0:x11/zenity
+		zenity:x11/zenity
 LIB_DEPENDS=	libpolkit-gobject-1.so:sysutils/polkit \
 		libpeas-1.0.so:devel/libpeas1 \
 		libuuid.so:misc/libuuid \
@@ -28,27 +29,30 @@ LIB_DEPENDS=	libpolkit-gobject-1.so:sysutils/polkit \
 		libibus-1.0.so:textproc/ibus \
 		libcanberra.so:audio/libcanberra \
 		libcanberra-gtk3.so:audio/libcanberra-gtk3 \
-		libgee-0.8.so:devel/libgee
+		libgee-0.8.so:devel/libgee \
+		libgudev-1.0.so:devel/libgudev
 RUN_DEPENDS=	gsettings-desktop-schemas>0:devel/gsettings-desktop-schemas \
-		gnome-session>0:x11/gnome-session \
+		budgie-session>0:x11/budgie-session \
 		consolekit2>0:sysutils/consolekit2 \
-		zenity>0:x11/zenity \
-		xdotool>0:x11/xdotool
+		zenity:x11/zenity \
+		xdotool:x11/xdotool \
+		matcha-gtk-themes>0:x11-themes/matcha-gtk-themes \
+		xdg-desktop-portal-gtk>0:x11/xdg-desktop-portal-gtk
 
-USES=		budgie gettext gnome gstreamer meson pkgconfig tar:xz \
-		vala:build xorg
+USES=		budgie gettext-tools gnome gstreamer meson pkgconfig \
+		tar:xz vala:build xfce xorg
 USE_BUDGIE=	libmagpie screensaver:build
 USE_GNOME=	cairo gdkpixbuf glib20 gnomedesktop3 gnomemenus3 \
-		gtk30 intltool introspection libwnck3
+		gtk30 intltool:build introspection libwnck3
 USE_GSTREAMER=	libgstreamer
-USE_XORG=	x11 xcomposite
+USE_XFCE=	windowing
+USE_XORG=	x11 xext xfixes xi xorgproto
 
 MESON_ARGS=	-Dwith-gtk-doc=false \
 		-Dwith-bluetooth=false \
-		-Dwith-hibernate=false \
-		-Dwith-libuuid-time-safe=false
+		-Dwith-hibernate=false
 
-# If zenity >= 3.90 → build against Gtk4 (new API)
+# As long as x11/gtk30 is required, we depend of x11/zenity
 MESON_ARGS+=	-Duse-old-zenity=true
 
 GLIB_SCHEMAS=	20_buddiesofbudgie.budgie-desktop.notifications.gschema.override \
@@ -70,9 +74,10 @@ GLIB_SCHEMAS=	20_buddiesofbudgie.budgie-desktop.notifications.gschema.override \
 		org.buddiesofbudgie.budgie-desktop.raven.widget.SoundOutput.gschema.xml \
 		org.buddiesofbudgie.budgie-desktop.raven.widget.UsageMonitor.gschema.xml \
 		org.buddiesofbudgie.budgie-desktop.screenshot.gschema.xml \
+		org.buddiesofbudgie.settings-daemon.plugins.media-keys.gschema.xml \
 		25_org.buddiesofbudgie-default-settings.gschema.override
 
-NO_SHLIB_REQUIRES_GLOB=	libmagpie-clutter-0.so.0 libmagpie-cogl-0.so.0
+NO_SHLIB_REQUIRES_GLOB=	libmagpie-clutter-* libmagpie-cogl-*
 
 .include <bsd.port.options.mk>
 
diff --git a/x11/budgie-desktop/distinfo b/x11/budgie-desktop/distinfo
index 504322517353..def5651d1448 100644
--- a/x11/budgie-desktop/distinfo
+++ b/x11/budgie-desktop/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1697701076
-SHA256 (budgie/budgie-desktop-v10.8.2.tar.xz) = a8f88a253a787bb51f122923456103b1dfd4b880c3c6be6cb08e6c70624f9673
-SIZE (budgie/budgie-desktop-v10.8.2.tar.xz) = 3185304
+TIMESTAMP = 1757339341
+SHA256 (budgie/budgie-desktop-v10.9.3.tar.xz) = 959f27e0a4d1c61c4d4ddc41dff7c417b1408c8cc628a434b4151f3c3a0437b1
+SIZE (budgie/budgie-desktop-v10.9.3.tar.xz) = 2418792
diff --git a/x11/budgie-desktop/files/25_org.buddiesofbudgie-default-settings.gschema.override b/x11/budgie-desktop/files/25_org.buddiesofbudgie-default-settings.gschema.override
index bc1c026255b8..b83618d981ec 100644
--- a/x11/budgie-desktop/files/25_org.buddiesofbudgie-default-settings.gschema.override
+++ b/x11/budgie-desktop/files/25_org.buddiesofbudgie-default-settings.gschema.override
@@ -7,12 +7,12 @@ menu-icon='budgie-menu-symbolic'
 
 [org.gnome.desktop.interface:Budgie]
 cursor-theme='Adwaita'
-gtk-theme='Qogir-Dark'
+gtk-theme='Matcha-sea'
 icon-theme='Tela'
 color-scheme='prefer-dark'
 
 [org.gnome.desktop.wm.preferences:Budgie]
-theme='Qogir-Dark'
+theme='Matcha-sea'
 
 [org.gnome.desktop.screensaver]
 lock-enabled=false
@@ -30,6 +30,3 @@ default-zoom-level='small'
 
 [org.freedesktop.ibus.panel:Budgie]
 show-icon-on-systray=true
-
-[org.gnome.desktop.background:Budgie]
-show-desktop-icons=true
diff --git a/x11/budgie-desktop/files/patch-data_budgie-portals.conf b/x11/budgie-desktop/files/patch-data_budgie-portals.conf
new file mode 100644
index 000000000000..52d6329174c4
--- /dev/null
+++ b/x11/budgie-desktop/files/patch-data_budgie-portals.conf
@@ -0,0 +1,7 @@
+--- data/budgie-portals.conf.orig	2025-09-07 12:35:19 UTC
++++ data/budgie-portals.conf
+@@ -1,3 +1,3 @@
+ [preferred]
+ # Use xdg-desktop-portal-gtk for every portal interface
+-default=gtk
++default=gtk;
diff --git a/x11/budgie-desktop/files/patch-data_meson.build b/x11/budgie-desktop/files/patch-data_meson.build
index 126e475b7604..44d43f1cf286 100644
--- a/x11/budgie-desktop/files/patch-data_meson.build
+++ b/x11/budgie-desktop/files/patch-data_meson.build
@@ -1,19 +1,15 @@
---- data/meson.build.orig	2023-09-30 15:44:12 UTC
+--- data/meson.build.orig	2025-09-07 12:35:19 UTC
 +++ data/meson.build
-@@ -16,7 +16,13 @@ install_data(
+@@ -16,6 +16,12 @@ install_data(
      install_dir: join_paths(datadir, 'budgie')
  )
  
--install_data(
--    'budgie-portals.conf',
--    install_dir: join_paths(datadir, 'xdg-desktop-portal')
 +# Our own settings
-+install_data('25_org.buddiesofbudgie-default-settings.gschema.override',
++install_data(
++    '25_org.buddiesofbudgie-default-settings.gschema.override',
 +    install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
- )
++)
 +
-+# It requires, x11/xdg-desktop-portal-gtk > 1.17.x
-+#install_data(
-+#    'budgie-portals.conf',
-+#    install_dir: join_paths(datadir, 'xdg-desktop-portal')
-+#)
+ install_data(
+     'budgie-portals.conf',
+     install_dir: join_paths(datadir, 'xdg-desktop-portal')
diff --git a/x11/budgie-desktop/files/patch-meson.build b/x11/budgie-desktop/files/patch-meson.build
index dc7bc1e0d710..dea6cb444129 100644
--- a/x11/budgie-desktop/files/patch-meson.build
+++ b/x11/budgie-desktop/files/patch-meson.build
@@ -1,19 +1,18 @@
---- meson.build.orig	2023-09-30 15:44:12 UTC
+--- meson.build.orig	2025-09-07 12:35:19 UTC
 +++ meson.build
-@@ -67,12 +67,6 @@ cdata = configuration_data()
- # Inspired by https://github.com/GNOME/recipes/blob/master/meson.build
+@@ -81,11 +81,6 @@ ci = get_option('ci')
  package_version = meson.project_version()
  
--if fs.exists('.git')
+ ci = get_option('ci')
+-if fs.exists('.git') and ci == false
 -    git = find_program('git')
 -    git_version = run_command('git', ['rev-parse', 'HEAD'], check: true)
 -    package_version += ' (git-'+git_version.stdout().strip()+')'
 -endif
--
+ 
  cdata.set_quoted('PACKAGE_VERSION', package_version)
  
- # Make gettext work
-@@ -154,7 +148,7 @@ if xdg_appdir == ''
+@@ -164,7 +159,7 @@ if xdg_appdir == ''
      if with_stateless == true
          xdg_appdir = join_paths(datadir, 'xdg', 'autostart')
      else
diff --git a/x11/budgie-desktop/files/patch-src_appindexer_Application.vala b/x11/budgie-desktop/files/patch-src_appindexer_Application.vala
index e6bc6fc53faa..e5e1ceb6558b 100644
--- a/x11/budgie-desktop/files/patch-src_appindexer_Application.vala
+++ b/x11/budgie-desktop/files/patch-src_appindexer_Application.vala
@@ -1,6 +1,6 @@
---- src/appindexer/Application.vala.orig	2023-01-29 15:27:27 UTC
+--- src/appindexer/Application.vala.orig	2025-09-07 12:35:19 UTC
 +++ src/appindexer/Application.vala
-@@ -41,8 +41,6 @@ namespace Budgie {
+@@ -42,8 +42,6 @@ namespace Budgie {
  		 */
  		public signal void launch_failed(string startup_notify_id);
  
@@ -9,7 +9,7 @@
  		/**
  		* Create a new application from a `DesktopAppInfo`.
  		*/
-@@ -71,7 +69,6 @@ namespace Budgie {
+@@ -73,7 +71,6 @@ namespace Budgie {
  		}
  
  		construct {
@@ -17,7 +17,7 @@
  		}
  
  		/**
-@@ -125,9 +122,6 @@ namespace Budgie {
+@@ -127,9 +124,6 @@ namespace Budgie {
  					context.launch_failed.connect((startup_id) => {
  						this.launch_failed(startup_id);
  					});
diff --git a/x11/budgie-desktop/files/patch-src_appindexer_meson.build b/x11/budgie-desktop/files/patch-src_appindexer_meson.build
index c9116d193f12..b0e69c03e439 100644
--- a/x11/budgie-desktop/files/patch-src_appindexer_meson.build
+++ b/x11/budgie-desktop/files/patch-src_appindexer_meson.build
@@ -1,6 +1,6 @@
---- src/appindexer/meson.build.orig	2023-01-29 15:27:27 UTC
+--- src/appindexer/meson.build.orig	2025-09-07 12:35:19 UTC
 +++ src/appindexer/meson.build
-@@ -2,8 +2,7 @@ appindexer_sources = [
+@@ -4,8 +4,7 @@ appindexer_sources = [
      'AppIndex.vala',
      'Application.vala',
      'Category.vala',
diff --git a/x11/budgie-desktop/files/patch-src_daemon_bsd_meson.build b/x11/budgie-desktop/files/patch-src_daemon_bsd_meson.build
new file mode 100644
index 000000000000..17c7a17d98bc
--- /dev/null
+++ b/x11/budgie-desktop/files/patch-src_daemon_bsd_meson.build
@@ -0,0 +1,11 @@
+--- src/daemon/bsd/meson.build.orig	2025-09-07 12:35:19 UTC
++++ src/daemon/bsd/meson.build
+@@ -200,7 +200,7 @@ endif
+ endif
+ 
+ # Rfkill
+-enable_rfkill = true #get_option('rfkill')
++enable_rfkill = false #get_option('rfkill')
+ assert(enable_rfkill or not host_is_linux, 'rfkill is not optional on Linux platforms')
+ if enable_rfkill
+   assert(cc.has_header('linux/rfkill.h'), 'rfkill support requested but RFKill headers not found')
diff --git a/x11/budgie-desktop/files/patch-src_daemon_bsd_plugins_power_gsd-power-manager.c b/x11/budgie-desktop/files/patch-src_daemon_bsd_plugins_power_gsd-power-manager.c
new file mode 100644
index 000000000000..42e9b5f46ea2
--- /dev/null
+++ b/x11/budgie-desktop/files/patch-src_daemon_bsd_plugins_power_gsd-power-manager.c
@@ -0,0 +1,60 @@
+--- src/daemon/bsd/plugins/power/gsd-power-manager.c.orig	2025-09-07 12:35:19 UTC
++++ src/daemon/bsd/plugins/power/gsd-power-manager.c
+@@ -75,9 +75,9 @@
+ #define GSD_POWER_MANAGER_NOTIFY_TIMEOUT_SHORT          10 * 1000 /* ms */
+ #define GSD_POWER_MANAGER_NOTIFY_TIMEOUT_LONG           30 * 1000 /* ms */
+ 
+-#define SYSTEMD_DBUS_NAME                       "org.freedesktop.login1"
+-#define SYSTEMD_DBUS_PATH                       "/org/freedesktop/login1"
+-#define SYSTEMD_DBUS_INTERFACE                  "org.freedesktop.login1.Manager"
++#define CK_DBUS_NAME                       "org.freedesktop.ConsoleKit"
++#define CK_DBUS_PATH                       "/org/freedesktop/ConsoleKit/Manager"
++#define CK_DBUS_INTERFACE                  "org.freedesktop.ConsoleKit.Manager"
+ 
+ /* Time between notifying the user about a critical action and the action itself in UPower. */
+ #define GSD_ACTION_DELAY 20
+@@ -1151,7 +1151,7 @@ action_poweroff (GsdPowerManager *manager)
+ action_poweroff (GsdPowerManager *manager)
+ {
+         if (manager->logind_proxy == NULL) {
+-                g_warning ("no systemd support");
++                g_warning ("no ConsoleKit support");
+                 return;
+         }
+         g_dbus_proxy_call (manager->logind_proxy,
+@@ -1168,7 +1168,7 @@ action_suspend (GsdPowerManager *manager)
+ action_suspend (GsdPowerManager *manager)
+ {
+         if (manager->logind_proxy == NULL) {
+-                g_warning ("no systemd support");
++                g_warning ("no ConsoleKit support");
+                 return;
+         }
+         g_dbus_proxy_call (manager->logind_proxy,
+@@ -1185,7 +1185,7 @@ action_hibernate (GsdPowerManager *manager)
+ action_hibernate (GsdPowerManager *manager)
+ {
+         if (manager->logind_proxy == NULL) {
+-                g_warning ("no systemd support");
++                g_warning ("no ConsoleKit support");
+                 return;
+         }
+         g_dbus_proxy_call (manager->logind_proxy,
+@@ -2951,13 +2951,13 @@ gsd_power_manager_initable_init (GInitable     *initab
+                         g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
+                                                        0,
+                                                        NULL,
+-                                                       SYSTEMD_DBUS_NAME,
+-                                                       SYSTEMD_DBUS_PATH,
+-                                                       SYSTEMD_DBUS_INTERFACE,
++                                                       CK_DBUS_NAME,
++                                                       CK_DBUS_PATH,
++                                                       CK_DBUS_INTERFACE,
+                                                        NULL,
+                                                        error);
+                 if (manager->logind_proxy == NULL) {
+-                        g_debug ("No systemd (logind) support, disabling plugin");
++                        g_debug ("No ConsoleKit support, disabling plugin");
+                         return FALSE;
+                 }
+         }
diff --git a/x11/budgie-desktop/files/patch-src_lib_animation.vala b/x11/budgie-desktop/files/patch-src_lib_animation.vala
deleted file mode 100644
index 48676a0bb202..000000000000
--- a/x11/budgie-desktop/files/patch-src_lib_animation.vala
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/lib/animation.vala.orig	2025-03-22 02:16:00 UTC
-+++ src/lib/animation.vala
-@@ -27,7 +27,6 @@ namespace Budgie {
- 	* Utility to struct to enable easier animations
- 	* Inspired by Clutter.
- 	*/
--	[Compact]
- 	public class Animation : GLib.Object {
- 		public int64 start_time; /**<Start time (microseconds) of animation */
- 		public int64 length; /**<Length of animation in microseconds */
diff --git a/x11/budgie-desktop/files/patch-src_panel_applets_icon-tasklist_animation.vala b/x11/budgie-desktop/files/patch-src_panel_applets_icon-tasklist_animation.vala
deleted file mode 100644
index 32a6baed199e..000000000000
--- a/x11/budgie-desktop/files/patch-src_panel_applets_icon-tasklist_animation.vala
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/panel/applets/icon-tasklist/animation.vala.orig	2025-03-22 02:28:21 UTC
-+++ src/panel/applets/icon-tasklist/animation.vala
-@@ -27,7 +27,6 @@ namespace BudgieTaskList {
- 	* Utility to struct to enable easier animations
- 	* Inspired by Clutter.
- 	*/
--	[Compact]
- 	public class Animation : GLib.Object {
- 		public int64 start_time; /**<Start time (microseconds) of animation */
- 		public int64 length; /**<Length of animation in microseconds */
diff --git a/x11/budgie-desktop/files/patch-src_panel_applets_status_StatusApplet.vala b/x11/budgie-desktop/files/patch-src_panel_applets_status_StatusApplet.vala
deleted file mode 100644
index e875f4a20943..000000000000
--- a/x11/budgie-desktop/files/patch-src_panel_applets_status_StatusApplet.vala
+++ /dev/null
@@ -1,30 +0,0 @@
---- src/panel/applets/status/StatusApplet.vala.orig	2023-01-29 15:27:27 UTC
-+++ src/panel/applets/status/StatusApplet.vala
-@@ -30,7 +30,6 @@ public class StatusSettings : Gtk.Grid {
- public class StatusApplet : Budgie.Applet {
- 	public string uuid { public set; public get; }
- 	protected Gtk.Box widget;
--	protected BluetoothIndicator blue;
- 	protected SoundIndicator sound;
- 	protected PowerIndicator power;
- 	protected Gtk.EventBox? wrap;
-@@ -84,11 +83,6 @@ public class StatusApplet : Budgie.Applet {
- 		/* Hook up the popovers */
- 		this.setup_popover(power.ebox, power.popover);
- 		this.setup_popover(sound.ebox, sound.popover);
--
--		blue = new BluetoothIndicator();
--		widget.pack_start(blue, false, false, 0);
--		blue.show_all();
--		this.setup_popover(blue.ebox, blue.popover);
- 	}
- 
- 	public override void panel_position_changed(Budgie.PanelPosition position) {
-@@ -104,7 +98,6 @@ public class StatusApplet : Budgie.Applet {
- 		this.manager = manager;
- 		manager.register_popover(power.ebox, power.popover);
- 		manager.register_popover(sound.ebox, sound.popover);
--		manager.register_popover(blue.ebox, blue.popover);
- 	}
- 
- 	public override bool supports_settings() {
diff --git a/x11/budgie-desktop/files/patch-src_panel_applets_status_meson.build b/x11/budgie-desktop/files/patch-src_panel_applets_status_meson.build
deleted file mode 100644
index c5d796dba6e7..000000000000
--- a/x11/budgie-desktop/files/patch-src_panel_applets_status_meson.build
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/panel/applets/status/meson.build.orig	2023-01-29 15:27:27 UTC
-+++ src/panel/applets/status/meson.build
-@@ -19,7 +19,6 @@ applet_status_resources = gnome.compile_resources(
- )
- 
- applet_status_sources = [
--    'BluetoothIndicator.vala',
-     'StatusApplet.vala',
-     'PowerIndicator.vala',
-     'SoundIndicator.vala',
diff --git a/x11/budgie-desktop/files/patch-src_panel_manager.vala b/x11/budgie-desktop/files/patch-src_panel_manager.vala
deleted file mode 100644
index c2f4f48a6075..000000000000
--- a/x11/budgie-desktop/files/patch-src_panel_manager.vala
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/panel/manager.vala.orig	2025-03-22 02:20:18 UTC
-+++ src/panel/manager.vala
-@@ -23,7 +23,6 @@ namespace Budgie {
- 	/**
- 	* Available slots
- 	*/
--	[Compact]
- 	class Screen : GLib.Object {
- 		public PanelPosition slots;
- 		public Gdk.Rectangle area;
diff --git a/x11/budgie-desktop/files/patch-src_panel_settings_themes.vala b/x11/budgie-desktop/files/patch-src_panel_settings_themes.vala
deleted file mode 100644
index cda0e865699c..000000000000
--- a/x11/budgie-desktop/files/patch-src_panel_settings_themes.vala
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/panel/settings/themes.vala.orig	2025-03-22 02:24:35 UTC
-+++ src/panel/settings/themes.vala
-@@ -15,7 +15,6 @@ public enum ThemeType {
- 	CURSOR_THEME
- }
- 
--[Compact]
- class ThemeInfo : GLib.Object {
- 	private ThemeType theme_type;
- 	private List<string> paths;
diff --git a/x11/budgie-desktop/files/patch-src_session_budgie-desktop.in b/x11/budgie-desktop/files/patch-src_session_budgie-desktop.in
deleted file mode 100644
index f08d93ec6928..000000000000
--- a/x11/budgie-desktop/files/patch-src_session_budgie-desktop.in
+++ /dev/null
@@ -1,8 +0,0 @@
---- src/session/budgie-desktop.in.orig	2023-01-29 15:27:27 UTC
-+++ src/session/budgie-desktop.in
-@@ -13,4 +13,4 @@ if [ -z $XDG_CURRENT_DESKTOP ]; then
-   export XDG_CURRENT_DESKTOP
- fi
- 
--exec gnome-session --builtin --session=org.buddiesofbudgie.BudgieDesktop $*
-+exec gnome-session --builtin --disable-acceleration-check --session=org.buddiesofbudgie.BudgieDesktop $*
diff --git a/x11/budgie-desktop/files/patch-src_session_meson.build b/x11/budgie-desktop/files/patch-src_session_meson.build
index 40480f6b9e07..fe2302cb2e61 100644
--- a/x11/budgie-desktop/files/patch-src_session_meson.build
+++ b/x11/budgie-desktop/files/patch-src_session_meson.build
@@ -1,38 +1,24 @@
---- src/session/meson.build.orig	2023-01-29 15:27:27 UTC
+--- src/session/meson.build.orig	2025-09-07 12:35:19 UTC
 +++ src/session/meson.build
-@@ -11,19 +11,15 @@ gnome_session_components = [
- 
- gnome_session_324_components = [
-     'org.gnome.SettingsDaemon.A11ySettings',
--    'org.gnome.SettingsDaemon.Color',
--    'org.gnome.SettingsDaemon.Datetime',
-     'org.gnome.SettingsDaemon.Housekeeping',
-     'org.gnome.SettingsDaemon.Keyboard',
-     'org.gnome.SettingsDaemon.MediaKeys',
-     'org.gnome.SettingsDaemon.Power',
-     'org.gnome.SettingsDaemon.PrintNotifications',
--    'org.gnome.SettingsDaemon.Rfkill',
-     'org.gnome.SettingsDaemon.ScreensaverProxy',
-     'org.gnome.SettingsDaemon.Sharing',
-     'org.gnome.SettingsDaemon.Smartcard',
-     'org.gnome.SettingsDaemon.Sound',
--    'org.gnome.SettingsDaemon.Wacom',
-     'org.gnome.SettingsDaemon.XSettings',
- ]
- 
-@@ -113,15 +109,6 @@ custom_target('desktop-file-xsession',
-     install_dir : join_paths(datadir, 'xsessions'),
- )
- 
--
--# Merge + install nm-applet
--custom_target('desktop-file-nm-applet',
--    input : 'budgie-desktop-nm-applet.desktop.in',
--    output : 'org.buddiesofbudgie.BudgieDesktopNmApplet.desktop',
--    command : [intltool, '--desktop-style', podir, '@INPUT@', '@OUTPUT@'],
+@@ -9,11 +9,8 @@ budgie_session_324_components = [
+ budgie_session_324_components = [
+     'org.buddiesofbudgie.SettingsDaemon.A11ySettings',
+     'org.buddiesofbudgie.SettingsDaemon.Color',
+-    'org.buddiesofbudgie.SettingsDaemon.Datetime',
+-    'org.buddiesofbudgie.SettingsDaemon.Housekeeping',
+     'org.buddiesofbudgie.SettingsDaemon.Keyboard',
+     'org.buddiesofbudgie.SettingsDaemon.PrintNotifications',
+-    'org.buddiesofbudgie.SettingsDaemon.Rfkill',
+     'org.buddiesofbudgie.SettingsDaemon.ScreensaverProxy',
+     'org.buddiesofbudgie.SettingsDaemon.Sharing',
+     'org.buddiesofbudgie.SettingsDaemon.Smartcard',
+@@ -114,8 +111,7 @@ custom_target('desktop-file-nm-applet',
+     input : 'budgie-desktop-nm-applet.desktop.in',
+     output : 'org.buddiesofbudgie.BudgieDesktopNmApplet.desktop',
+     command : [intltool, '--desktop-style', podir, '@INPUT@', '@OUTPUT@'],
 -    install : true,
 -    install_dir : xdg_appdir,
--)
++    install : false,
+ )
  
  # Write the budgie-desktop-screensaver.in file from the appropriate .in.in
- if with_gnome_screensaver == true
diff --git a/x11/budgie-desktop/files/patch-update-libxfce4windowing-vapi.patch b/x11/budgie-desktop/files/patch-update-libxfce4windowing-vapi.patch
new file mode 100644
index 000000000000..303e8ac3914a
--- /dev/null
+++ b/x11/budgie-desktop/files/patch-update-libxfce4windowing-vapi.patch
@@ -0,0 +1,893 @@
+Based on https://github.com/BuddiesOfBudgie/budgie-desktop/pull/722
+
+--- src/daemon/tabswitcher.vala.orig	2025-09-07 12:35:19 UTC
++++ src/daemon/tabswitcher.vala
+@@ -12,7 +12,7 @@ using Gtk;
+ 
+ using Gdk;
+ using Gtk;
+-using libxfce4windowing;
++using Xfw;
+ 
+ namespace Budgie {
+ 	public const string SHOW_ALL_WINDOWS_KEY = "show-all-windows-tabswitcher";
+@@ -47,18 +47,18 @@ namespace Budgie {
+ 	public class TabSwitcherWidget : Gtk.FlowBoxChild {
+ 		private Gtk.Image image;
+ 		private uint64 activation_timestamp;
+-		private libxfce4windowing.Application? application;
++		private Xfw.Application? application;
+ 		private DesktopAppInfo? info;
+ 		public string id;
+ 		public string title;
+ 
+-		public unowned libxfce4windowing.Window? window = null;
++		public unowned Xfw.Window? window = null;
+ 
+ 		public signal void closed(TabSwitcherWidget widget);
+-		public signal void window_activated(libxfce4windowing.Window window);
++		public signal void window_activated(Xfw.Window window);
+ 		public signal void workspace_changed();
+ 
+-		public TabSwitcherWidget(Budgie.AppSystem app_system, libxfce4windowing.Window? win) {
++		public TabSwitcherWidget(Budgie.AppSystem app_system, Xfw.Window? win) {
+ 			Object();
+ 			window = win;
+ 			ulong uid = (ulong) window.x11_get_xid();
+@@ -68,7 +68,7 @@ namespace Budgie {
+ 			application = win.get_application();
+ 
+ 			// Running under X11
+-			if (libxfce4windowing.windowing_get() == libxfce4windowing.Windowing.X11) {
++			if (Xfw.windowing_get() == Xfw.Windowing.X11) {
+ 				info = app_system.query_window_by_xid((ulong)uid);
+ 			}
+ 
+@@ -82,8 +82,8 @@ namespace Budgie {
+ 
+ 			window.state_changed.connect((changed_mask, new_state) => {
+ 				if (
+-					(libxfce4windowing.WindowState.ACTIVE in changed_mask) &&
+-					(libxfce4windowing.WindowState.ACTIVE in new_state)
++					(Xfw.WindowState.ACTIVE in changed_mask) &&
++					(Xfw.WindowState.ACTIVE in new_state)
+ 				) {
+ 					activation_timestamp = get_time();
+ 					window_activated(window);
+@@ -127,11 +127,11 @@ namespace Budgie {
+ 		[GtkChild]
+ 		private unowned Label window_title;
+ 
+-		private libxfce4windowing.Workspace? active_workspace = null;
+-		private unowned libxfce4windowing.WorkspaceGroup? workspace_group = null;
++		private Xfw.Workspace? active_workspace = null;
++		private unowned Xfw.WorkspaceGroup? workspace_group = null;
+ 		private Gdk.Screen? default_screen;
+-		private libxfce4windowing.Screen xfce_screen;
+-		private unowned libxfce4windowing.WorkspaceManager workspace_manager;
++		private Xfw.Screen xfce_screen;
++		private unowned Xfw.WorkspaceManager workspace_manager;
+ 		private Budgie.AppSystem? app_system = null;
+ 
+ 		private Gdk.Monitor primary_monitor;
+@@ -163,7 +163,7 @@ namespace Budgie {
+ 
+ 			default_screen = Gdk.Screen.get_default();
+ 
+-			xfce_screen = libxfce4windowing.Screen.get_default();
++			xfce_screen = Xfw.Screen.get_default();
+ 
+ 			xfce_screen.get_windows().foreach(add_window);
+ 			xfce_screen.window_opened.connect(add_window);
+@@ -212,7 +212,7 @@ namespace Budgie {
+ 			window_box.invalidate_filter(); // Re-filter
+ 		}
+ 
+-		private void add_window(libxfce4windowing.Window window) {
++		private void add_window(Xfw.Window window) {
+ 			if (window.is_skip_pager() || window.is_skip_tasklist()) return;
+ 
+ 			var window_widget = new TabSwitcherWidget(app_system, window);
+@@ -333,7 +333,7 @@ namespace Budgie {
+ 			update_sizing();
+ 		}
+ 
+-		private void set_window_as_activated(libxfce4windowing.Window window) {
++		private void set_window_as_activated(Xfw.Window window) {
+ 			string id = ((ulong) window.x11_get_xid()).to_string();
+ 			unowned List<string> entries = recency.find_custom(id, strcmp);
+ 			recency.remove_link(entries);
+@@ -356,15 +356,15 @@ namespace Budgie {
+ 			move_switcher();
+ 		}
+ 
+-		private bool window_on_active_workspace(libxfce4windowing.Window window) {
+-			unowned libxfce4windowing.Workspace? win_workspace = window.get_workspace(); // Get workspace
++		private bool window_on_active_workspace(Xfw.Window window) {
++			unowned Xfw.Workspace? win_workspace = window.get_workspace(); // Get workspace
+ 			if (active_workspace == null || win_workspace == null) return true;
+ 			return win_workspace.get_id() == active_workspace.get_id();
+ 		}
+ 
+ 		/* Switch focus to the item with the xid */
+ 		public void focus_item(bool backwards) {
+-			unowned libxfce4windowing.Window? active_window = xfce_screen.get_active_window();
++			unowned Xfw.Window? active_window = xfce_screen.get_active_window();
+ 			TabSwitcherWidget? widget = active_window != null ? ids.get(((ulong) active_window.x11_get_xid()).to_string()) : null;
+ 
+ 			// Visible, each input should cycle to previous / next
+--- src/panel/applets/show-desktop/ShowDesktopApplet.vala.orig	2025-09-07 12:35:19 UTC
++++ src/panel/applets/show-desktop/ShowDesktopApplet.vala
+@@ -18,7 +18,7 @@ public class ShowDesktopApplet : Budgie.Applet {
+ public class ShowDesktopApplet : Budgie.Applet {
+ 	protected Gtk.ToggleButton widget;
+ 	protected Gtk.Image img;
+-	private libxfce4windowing.Screen xfce_screen;
++	private Xfw.Screen xfce_screen;
+ 
+ 	public ShowDesktopApplet() {
+ 		widget = new Gtk.ToggleButton();
+@@ -28,7 +28,7 @@ public class ShowDesktopApplet : Budgie.Applet {
+ 		widget.add(img);
+ 		widget.set_tooltip_text(_("Toggle the desktop"));
+ 
+-		xfce_screen = libxfce4windowing.Screen.get_default();
++		xfce_screen = Xfw.Screen.get_default();
+ 
+ 		xfce_screen.window_opened.connect((window) => {
+ 			if (window.is_skip_pager() || window.is_skip_tasklist()) return;
+@@ -48,7 +48,7 @@ public class ShowDesktopApplet : Budgie.Applet {
+ 				try {
+ 					window.set_minimized(!showing_desktop);
+ 				} catch (Error e) {
+-					// Note: This is intentionally set to debug instead of warning because libxfce4windowing will create noise otherwise
++					// Note: This is intentionally set to debug instead of warning because Xfw will create noise otherwise
+ 					// Unminimize operations can end up being noisy when they fail due to the window not yet reporting the capability to support CAN_MINIMIZE
+ 					// https://gitlab.xfce.org/xfce/libxfce4windowing/-/blob/main/libxfce4windowing/xfw-window-x11.c#L363
+ 					debug("Failed to change state of window \"%s\": %s", window.get_name(), e.message);
+--- src/panel/applets/workspaces/WindowIcon.vala.orig	2025-09-07 12:35:19 UTC
++++ src/panel/applets/workspaces/WindowIcon.vala
+@@ -13,9 +13,9 @@ namespace Workspaces {
+ 	public const int WORKSPACE_ICON_SIZE = 16;
+ 
+ 	public class WindowIcon : Gtk.Button {
+-		private libxfce4windowing.Window window;
++		private Xfw.Window window;
+ 
+-		public WindowIcon(libxfce4windowing.Window window) {
++		public WindowIcon(Xfw.Window window) {
+ 			this.window = window;
+ 
+ 			this.set_relief(Gtk.ReliefStyle.NONE);
+--- src/panel/applets/workspaces/WorkspaceItem.vala.orig	2025-09-07 12:35:19 UTC
++++ src/panel/applets/workspaces/WorkspaceItem.vala
+@@ -15,7 +15,7 @@ namespace Workspaces {
+ 	};
+ 
+ 	public class WorkspaceItem : Gtk.EventBox {
+-		private libxfce4windowing.Workspace workspace;
++		private Xfw.Workspace workspace;
+ 		private Budgie.Popover popover;
+ 		private Gtk.Stack popover_stack;
+ 		private Gtk.FlowBox rest_of_the_icons;
+@@ -25,7 +25,7 @@ namespace Workspaces {
+ 		private Gtk.Allocation real_alloc;
+ 		private float size_multiplier;
+ 
+-		public WorkspaceItem(libxfce4windowing.Workspace space, float multiplier) {
++		public WorkspaceItem(Xfw.Workspace space, float multiplier) {
+ 			this.get_style_context().add_class("workspace-item");
+ 			this.workspace = space;
+ 			this.size_multiplier = multiplier;
+@@ -178,7 +178,7 @@ namespace Workspaces {
+ 
+ 			if (data != null) {
+ 				try {
+-					foreach (libxfce4windowing.Window window in WorkspacesApplet.xfce_screen.get_windows()) {
++					foreach (Xfw.Window window in WorkspacesApplet.xfce_screen.get_windows()) {
+ 						if (window.x11_get_xid() == *data) {
+ 							window.move_to_workspace(this.workspace);
+ 							dnd_success = true;
+@@ -193,7 +193,7 @@ namespace Workspaces {
+ 			Gtk.drag_finish(context, dnd_success, true, time);
+ 		}
+ 
+-		public void update_windows(List<weak libxfce4windowing.Window> window_list) {
++		public void update_windows(List<weak Xfw.Window> window_list) {
+ 			int num_columns = (real_alloc.width - 4) / 20;
+ 			int num_rows = (real_alloc.height - 4) / 20;
+ 
+@@ -322,7 +322,7 @@ namespace Workspaces {
+ 			real_alloc.height = (int) (height * 2 * size_multiplier);
+ 		}
+ 
+-		public libxfce4windowing.Workspace get_workspace() {
++		public Xfw.Workspace get_workspace() {
+ 			return workspace;
+ 		}
+ 	}
+--- src/panel/applets/workspaces/WorkspacesApplet.vala.orig	2025-09-07 12:35:19 UTC
++++ src/panel/applets/workspaces/WorkspacesApplet.vala
+@@ -57,7 +57,7 @@ namespace Workspaces {
+ 		private int size_change = 0;
+ 		private bool updating = false;
+ 		private ulong[] connections = {};
+-		private HashTable<unowned libxfce4windowing.Window, ulong> window_connections;
++		private HashTable<unowned Xfw.Window, ulong> window_connections;
+ 		private List<int> dynamically_created_workspaces;
+ 		private Settings settings;
+ 		private AddButtonVisibility button_visibility = AddButtonVisibility.ALWAYS;
+@@ -68,9 +68,9 @@ namespace Workspaces {
+ 		public static Budgie.PanelPosition panel_position = Budgie.PanelPosition.BOTTOM;
+ 		public static int panel_size = 0;
+ 		public static unowned Budgie.PopoverManager? manager = null;
+-		public static libxfce4windowing.Screen xfce_screen;
+-		public static libxfce4windowing.WorkspaceManager workspace_manager;
+-		public static libxfce4windowing.WorkspaceGroup workspace_group;
++		public static Xfw.Screen xfce_screen;
++		public static Xfw.WorkspaceManager workspace_manager;
++		public static Xfw.WorkspaceGroup workspace_group;
+ 		public static bool dragging = false;
+ 
+ 		private int64 last_scroll_time = 0;
+@@ -92,13 +92,13 @@ namespace Workspaces {
+ 			settings = this.get_applet_settings(uuid);
+ 			settings.changed.connect(on_settings_change);
+ 
+-			xfce_screen = libxfce4windowing.Screen.get_default();
++			xfce_screen = Xfw.Screen.get_default();
+ 			workspace_manager = xfce_screen.get_workspace_manager();
+ 
+ 			workspace_group = workspace_manager.list_workspace_groups().nth_data(0);
+ 
+ 			dynamically_created_workspaces = new List<int>();
+-			window_connections = new HashTable<unowned libxfce4windowing.Window, ulong>(str_hash, str_equal);
++			window_connections = new HashTable<unowned Xfw.Window, ulong>(str_hash, str_equal);
+ 
+ 			Bus.watch_name(BusType.SESSION, "org.budgie_desktop.BudgieWM", BusNameWatcherFlags.NONE,
+ 				has_wm, lost_wm);
+@@ -205,9 +205,9 @@ namespace Workspaces {
+ 					return Gdk.EVENT_STOP;
+ 				}
+ 
+-				unowned libxfce4windowing.Workspace current = workspace_group.get_active_workspace();
+-				unowned libxfce4windowing.Workspace? next = current.get_neighbor(
+-					(down) ? libxfce4windowing.Direction.RIGHT : libxfce4windowing.Direction.DOWN
++				unowned Xfw.Workspace current = workspace_group.get_active_workspace();
++				unowned Xfw.Workspace? next = current.get_neighbor(
++					(down) ? Xfw.Direction.RIGHT : Xfw.Direction.DOWN
+ 				);
+ 
+ 				if (next != null) {
+@@ -243,12 +243,12 @@ namespace Workspaces {
+ 		}
+ 
+ 		private void populate_workspaces() {
+-			foreach (libxfce4windowing.Workspace workspace in workspace_group.list_workspaces()) {
++			foreach (Xfw.Workspace workspace in workspace_group.list_workspaces()) {
+ 				workspace_added(workspace);
+ 			}
+ 			this.connect_signals();
+ 			this.queue_resize();
+-			foreach (libxfce4windowing.Window window in xfce_screen.get_windows()) {
++			foreach (Xfw.Window window in xfce_screen.get_windows()) {
+ 				window_opened(window);
+ 			}
+ 		}
+@@ -303,7 +303,7 @@ namespace Workspaces {
+ 			});
+ 		}
+ 
+-		private void workspace_added(libxfce4windowing.Workspace space) {
++		private void workspace_added(Xfw.Workspace space) {
+ 			WorkspaceItem item = new WorkspaceItem(space, item_size_multiplier);
+ 			var _workspace = workspace_group.get_active_workspace();
+ 			if (_workspace != null && _workspace == space) {
+@@ -325,7 +325,7 @@ namespace Workspaces {
+ 			}
+ 		}
+ 
+-		private void workspace_removed(libxfce4windowing.Workspace space) {
++		private void workspace_removed(Xfw.Workspace space) {
+ 			foreach (var widget in workspaces_layout.get_children()) {
+ 				Gtk.Revealer revealer = widget as Gtk.Revealer;
+ 				WorkspaceItem item = revealer.get_child() as WorkspaceItem;
+@@ -343,8 +343,8 @@ namespace Workspaces {
+ 			add_button_revealer.set_reveal_child(true);
+ 		}
+ 
+-		private void window_opened(libxfce4windowing.Window window) {
+-			if (window.get_window_type() != libxfce4windowing.WindowType.NORMAL) {
++		private void window_opened(Xfw.Window window) {
++			if (window.get_window_type() != Xfw.WindowType.NORMAL) {
+ 				return;
+ 			}
+ 
+@@ -359,7 +359,7 @@ namespace Workspaces {
+ 			window_connections.set(window, conn);
+ 		}
+ 
+-		private void window_closed(libxfce4windowing.Window window) {
++		private void window_closed(Xfw.Window window) {
+ 			if (window_connections.contains(window)) {
+ 				ulong conn = window_connections.get(window);
+ 				if (SignalHandler.is_connected(window, conn)) {
+@@ -401,8 +401,8 @@ namespace Workspaces {
+ 				return;
+ 			}
+ 
+-			libxfce4windowing.Window? window = null;
+-			foreach (libxfce4windowing.Window win in xfce_screen.get_windows()) {
++			Xfw.Window? window = null;
++			foreach (Xfw.Window win in xfce_screen.get_windows()) {
+ 				if (win.x11_get_xid() == *data) {
+ 					window = win;
+ 					break;
+@@ -420,7 +420,7 @@ namespace Workspaces {
+ 				if (index != -1) { // Successfully added workspace
+ 					dynamically_created_workspaces.append(index);
+ 					Timeout.add(50, () => {
+-						libxfce4windowing.Workspace? workspace = get_workspace_by_index(index);
++						Xfw.Workspace? workspace = get_workspace_by_index(index);
+ 						try {
+ 							if (workspace != null) window.move_to_workspace(workspace);
+ 						} catch (Error e) {
+@@ -525,11 +525,11 @@ namespace Workspaces {
+ 			foreach (Gtk.Widget widget in workspaces_layout.get_children()) {
+ 				Gtk.Revealer revealer = widget as Gtk.Revealer;
+ 				WorkspaceItem item = revealer.get_child() as WorkspaceItem;
+-				List<unowned libxfce4windowing.Window> windows = xfce_screen.get_windows_stacked().copy();
++				List<unowned Xfw.Window> windows = xfce_screen.get_windows_stacked().copy();
+ 				windows.reverse();
+-				List<unowned libxfce4windowing.Window> window_list = new List<unowned libxfce4windowing.Window>();
++				List<unowned Xfw.Window> window_list = new List<unowned Xfw.Window>();
+ 				windows.foreach((window) => {
+-					if (window.get_workspace() == item.get_workspace() && !window.is_skip_tasklist() && !window.is_skip_pager() && window.get_window_type() == libxfce4windowing.WindowType.NORMAL) {
++					if (window.get_workspace() == item.get_workspace() && !window.is_skip_tasklist() && !window.is_skip_pager() && window.get_window_type() == Xfw.WindowType.NORMAL) {
+ 						window_list.append(window);
+ 					}
+ 				});
+@@ -570,8 +570,8 @@ namespace Workspaces {
+ 			}
+ 		}
+ 
+-		private libxfce4windowing.Workspace? get_workspace_by_index(uint num) {
+-			unowned GLib.List<libxfce4windowing.Workspace>? workspaces = workspace_group.list_workspaces();
++		private Xfw.Workspace? get_workspace_by_index(uint num) {
++			unowned GLib.List<Xfw.Workspace>? workspaces = workspace_group.list_workspaces();
+ 			return workspaces.nth_data(num);
+ 		}
+ 	}
+--- vapi/libxfce4windowing-0.vapi.orig	2025-09-07 12:35:19 UTC
++++ vapi/libxfce4windowing-0.vapi
+@@ -1,8 +1,8 @@
+ /* libxfce4windowing-0.vapi generated by vapigen, do not modify. */
+ 
+-[CCode (cprefix = "libxfce4windowing", gir_namespace = "Libxfce4windowing", gir_version = "0.0", lower_case_cprefix = "libxfce4windowing_")]
+-namespace libxfce4windowing {
+-	[CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "XfwApplication", type_id = "xfw_application_get_type ()")]
++[CCode (cprefix = "Xfw", gir_namespace = "Libxfce4windowing", gir_version = "0.0", lower_case_cprefix = "libxfce4windowing_")]
++namespace Xfw {
++	[CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", type_id = "xfw_application_get_type ()")]
+ 	public abstract class Application : GLib.Object {
+ 		[CCode (has_construct_function = false)]
+ 		protected Application ();
+@@ -15,13 +15,13 @@ namespace libxfce4windowing {
+ 		[CCode (cname = "xfw_application_get_icon")]
+ 		public unowned Gdk.Pixbuf? get_icon (int size, int scale);
+ 		[CCode (cname = "xfw_application_get_instance")]
+-		public unowned libxfce4windowing.ApplicationInstance? get_instance (libxfce4windowing.Window window);
++		public unowned Xfw.ApplicationInstance? get_instance (Xfw.Window window);
+ 		[CCode (cname = "xfw_application_get_instances")]
+-		public unowned GLib.List<libxfce4windowing.ApplicationInstance>? get_instances ();
++		public unowned GLib.List<Xfw.ApplicationInstance>? get_instances ();
+ 		[CCode (cname = "xfw_application_get_name")]
+ 		public unowned string get_name ();
+ 		[CCode (cname = "xfw_application_get_windows")]
+-		public unowned GLib.List<libxfce4windowing.Window> get_windows ();
++		public unowned GLib.List<Xfw.Window> get_windows ();
+ 		[CCode (cname = "xfw_application_icon_is_fallback")]
+ 		[Version (since = "4.19.1")]
+ 		public bool icon_is_fallback ();
+@@ -31,14 +31,14 @@ namespace libxfce4windowing {
+ 		[NoAccessorMethod]
+ 		public GLib.Icon gicon { owned get; }
+ 		[NoAccessorMethod]
+-		public void* instances { get; }
++		public GLib.List<Xfw.ApplicationInstance> instances { owned get; }
+ 		[NoAccessorMethod]
+ 		public string name { owned get; }
+ 		[NoAccessorMethod]
+-		public void* windows { get; }
++		public GLib.List<Xfw.Window> windows { owned get; }
+ 		public signal void icon_changed ();
+ 	}
+-	[CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "XfwApplicationInstance", has_type_id = false)]
++	[CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", has_type_id = false)]
+ 	[Compact]
+ 	public class ApplicationInstance {
+ 		[CCode (cname = "xfw_application_instance_get_name")]
+@@ -49,9 +49,9 @@ namespace libxfce4windowing {
+ 		public int get_pid ();
+ 		[CCode (cname = "xfw_application_instance_get_windows")]
+ 		[Version (since = "4.19.1")]
+-		public unowned GLib.List<libxfce4windowing.Window> get_windows ();
++		public unowned GLib.List<Xfw.Window> get_windows ();
+ 	}
+-	[CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", cname = "XfwMonitor", type_id = "xfw_monitor_get_type ()")]
++	[CCode (cheader_filename = "libxfce4windowing/libxfce4windowing.h", type_id = "xfw_monitor_get_type ()")]
+ 	public abstract class Monitor : GLib.Object {
+ 		[CCode (has_construct_function = false)]
*** 555 LINES SKIPPED ***