Subject: [bug#54434] [PATCH v2 7/7] gnu: xfce4-session: Load user panel plugins.

From: 'Brendan Tildesley <[email-masked]>
Date: Fri, 18 Mar 2022 18:38:44 +1100

From: Brendan Tildesley <[email-masked]>

 gnu/packages/xfce.scm (xfce4-session): [patches]: Add a patch to make
 use of X_XFCE4_LIB_DIRS and load user installed panel plugins. This is
 needed, because xfce is launched from /run/current-system/.... It will
 not otherwise load panel plugin .so's from the users home guix profile.

 gnu/packages/patches/xfce4-session-startxfce-load-user-plugins.patch:
 New file.
 gnu/local.mk: Reference patch file.
---
 gnu/local.mk                                  |  1 +
 ...-session-startxfce-load-user-plugins.patch | 20 +++++++++++++++++++
 gnu/packages/xfce.scm                         |  3 ++-
 3 files changed, 23 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/xfce4-session-startxfce-load-user-plugins.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2911541275..4d968162ff 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1956,6 +1956,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xf86-video-tga-remove-mibstore.patch	\
   %D%/packages/patches/xf86-video-voodoo-pcitag.patch		\
   %D%/packages/patches/xfce4-panel-plugins.patch		\
+  %D%/packages/patches/xfce4-session-startxfce-load-user-plugins.patch	\
   %D%/packages/patches/xfce4-settings-defaults.patch		\
   %D%/packages/patches/xgboost-use-system-dmlc-core.patch       \
   %D%/packages/patches/xmonad-dynamic-linking.patch		\
diff --git a/gnu/packages/patches/xfce4-session-startxfce-load-user-plugins.patch b/gnu/packages/patches/xfce4-session-startxfce-load-user-plugins.patch
new file mode 100644
index 0000000000..f6f1bbc9b1
--- /dev/null
+++ b/gnu/packages/patches/xfce4-session-startxfce-load-user-plugins.patch
@@ -0,0 +1,20 @@
+From a1c94934d211d69f9a2cdf03d64327bcd7cccb41 Mon Sep 17 00:00:00 2001
+From: Brendan Tildesley <[email-masked]>
+Date: Thu, 17 Mar 2022 19:49:12 +1100
+Subject: [PATCH] startxfce4: load plugins from user profile
+
+---
+diff --git a/scripts/startxfce4.in b/scripts/startxfce4.in
+--- a/scripts/startxfce4.in
++++ b/scripts/startxfce4.in
+@@ -101,6 +101,8 @@ else
+   prog=/bin/sh
+ fi
+
++    export X_XFCE4_LIB_DIRS="${GUIX_PROFILE:-$HOME/.guix-profile}/lib/xfce4/${X_XFCE4_LIB_DIRS:+:}$X_XFCE4_LIB_DIRS"
++
+ if [ -f "$HOME/.xserverrc" ]; then
+   SERVERRC="$HOME/.xserverrc $SERVERRC"
+ elif [ -f /etc/X11/xinit/xserverrc ]; then
+
+
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index c36749c6a4..781046a968 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -658,7 +658,8 @@ (define-public xfce4-session
                     (("/sbin/shutdown -r now")  "restart")
                     (("/usr/sbin/pm-suspend")   "pm-suspend")
                     (("/usr/sbin/pm-hibernate") "pm-hibernate"))
-                  #t))))
+                  #t))
+              (patches (search-patches "xfce4-session-startxfce-load-user-plugins.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
-- 
2.34.0