[PATCH 0/6] XFCE Updates

  • Done
  • quality assurance status badge
Details
5 participants
  • ???
  • Ludovic Courtès
  • Brendan Tildesley
  • Maxime Devos
  • Feng Shu
Owner
unassigned
Submitted by
Brendan Tildesley
Severity
normal
B
B
Brendan Tildesley wrote on 17 Mar 2022 09:03
(address . guix-patches@gnu.org)
c9be48d8-d5e3-c576-c1df-06bcbdb6057f@brendan.scot

'
'
'Brendan Tildesley wrote on 17 Mar 2022 09:04
[PATCH 1/6] gnu: xfce4-whiskermenu-plugin: Update to 2.6.2.
(address . 54434@debbugs.gnu.org)(name . Brendan Tildesley)(address . mail@brendan.scot)
20220317080428.12613-1-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/xfce.scm (xfce4-whiskermenu-plugin): Update to 2.6.2.
---
gnu/packages/xfce.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index cdd98f2863..a96aca3742 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -535,7 +535,7 @@ (define-public xfce4-pulseaudio-plugin
(define-public xfce4-whiskermenu-plugin
(package
(name "xfce4-whiskermenu-plugin")
- (version "2.6.1")
+ (version "2.6.2")
(source
(origin
(method url-fetch)
@@ -543,7 +543,7 @@ (define-public xfce4-whiskermenu-plugin
"xfce4-whiskermenu-plugin/" (version-major+minor version) "/"
"xfce4-whiskermenu-plugin-" version ".tar.bz2"))
(sha256
- (base32 "0wpcc9i505mh6vphg27ph43dw4n3z59mwy39416yzmw325q04kl5"))))
+ (base32 "0vppm85pvhsigg5d74nx7cixlsrsyfjagw6avrdclfjr30nf483d"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config intltool))
--
2.34.0
'
'
'Brendan Tildesley wrote on 17 Mar 2022 09:04
[PATCH 2/6] gnu: xfce4-screenshooter: Update to 1.9.10.
(address . 54434@debbugs.gnu.org)(name . Brendan Tildesley)(address . mail@brendan.scot)
20220317080428.12613-2-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/xfce.scm (xfce4-screenshooter): Update to 1.9.10.
---
gnu/packages/xfce.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index a96aca3742..d22a0dc84f 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
-;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -1208,7 +1208,7 @@ (define-public mousepad
(define-public xfce4-screenshooter
(package
(name "xfce4-screenshooter")
- (version "1.9.9")
+ (version "1.9.10")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/apps/"
@@ -1218,7 +1218,7 @@ (define-public xfce4-screenshooter
version ".tar.bz2"))
(sha256
(base32
- "196swmc4amab8xcwv4q9p8b43fzzi9xagg20gnyjvf5x7yssxj1k"))))
+ "1mwjhakbjv9g6ffn6c55cbrfsrqhb2apwhmffvz8rfgm4y2igd04"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config intltool
--
2.34.0
'
'
'Brendan Tildesley wrote on 17 Mar 2022 09:04
[PATCH 4/6] gnu: mate-polkit-for-xfce: Unhide package.
(address . 54434@debbugs.gnu.org)(name . Brendan Tildesley)(address . mail@brendan.scot)
20220317080428.12613-4-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/xfce.scm (mate-polkit-for-xfce): Package doesn't
particularly need to be hidden.
[name]: Provide a unique name for this variant.
[description]: Explain packages purpose.
---
gnu/packages/xfce.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 150d21226b..718e6be771 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -911,6 +911,7 @@ (define-public xfce4-terminal
(define-public mate-polkit-for-xfce
(package/inherit mate-polkit
+ (name "mate-polkit-for-xfce")
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -924,7 +925,13 @@ (define-public mate-polkit-for-xfce
(substitute* old (("MATE;") "XFCE;"))
;; To avoid a conflict if both MATE and XFCE are installed.
(rename-file old new)))))))
- (properties `((hidden? . #t)))))
+ (synopsis "PolicyKit Authentication agent for XFCE")
+ (description (string-append (package-description mate-polkit) "
+
+This package variant provides the MATE PolicyKit authentication agent
+configured to autostart for XFCE. This is because the XFCE project does not
+have its own official authentication agent, so we pick MATE PolicyKit as a
+reasonable fit."))))
(define-public xfce
(package
--
2.34.0
'
'
'Brendan Tildesley wrote on 17 Mar 2022 09:04
[PATCH 3/6] gnu: XFCE: Remove input labels.
(address . 54434@debbugs.gnu.org)(name . Brendan Tildesley)(address . mail@brendan.scot)
20220317080428.12613-3-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

(xfconf, libxfce4ui, xfce4-panel, xfce4-whiskermenu-plugin, xfce,
xfce4-screensaver): Remove input labels.
---
gnu/packages/xfce.scm | 130 +++++++++++++++++++++---------------------
1 file changed, 65 insertions(+), 65 deletions(-)

Toggle diff (181 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index d22a0dc84f..150d21226b 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -164,12 +164,12 @@ (define-public xfconf
(string-append etc "/bash_completion.d"))))))
(delete 'check))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib:bin" ,glib "bin") ;; for gdbus-codegen
- ("gobject-introspection" ,gobject-introspection)
- ("vala" ,vala)
- ("dbus" ,dbus)))
+ (list pkg-config
+ intltool
+ `(,glib "bin") ;; for gdbus-codegen
+ gobject-introspection
+ vala
+ dbus))
(propagated-inputs
;; libxfconf-0.pc refers to all these.
(list glib))
@@ -201,10 +201,10 @@ (define-public libxfce4ui
(native-inputs
(list pkg-config intltool gobject-introspection))
(propagated-inputs
- `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc
- ;; libxfce4kbd-private-3.pc refers to all these.
- ("libxfce4util" ,libxfce4util)
- ("xfconf" ,xfconf)))
+ (list gtk+ ; required by libxfce4ui-2.pc
+ ;; libxfce4kbd-private-3.pc refers to all these.
+ libxfce4util
+ xfconf))
(inputs (list libsm libice startup-notification))
(home-page "https://www.xfce.org/")
(synopsis "Widgets library for Xfce")
@@ -415,20 +415,20 @@ (define-public xfce4-panel
(("/usr/share/zoneinfo")
(search-input-directory inputs "share/zoneinfo"))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib:bin" ,glib "bin")))
+ (list pkg-config
+ intltool
+ `(,glib "bin")))
(propagated-inputs
- `(("gtk+-3" ,gtk+) ; required by libxfce4panel-2.0.pc
- ("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-2.0.pc
+ (list gtk+ ; required by libxfce4panel-2.0.pc
+ libxfce4util)) ; required by libxfce4panel-2.0.pc
(inputs
- `(("tzdata" ,tzdata) ;; For fix-tzdata-path phase only.
- ("exo" ,exo)
- ("gtk+-2" ,gtk+-2)
- ("xfconf" ,xfconf)
- ("garcon" ,garcon)
- ("libwnck" ,libwnck)
- ("libxfce4ui" ,libxfce4ui)))
+ (list tzdata ;; For fix-tzdata-path phase only.
+ exo
+ gtk+-2
+ xfconf
+ garcon
+ libwnck
+ libxfce4ui))
(native-search-paths
(list (search-path-specification
(variable "X_XFCE4_LIB_DIRS")
@@ -548,12 +548,12 @@ (define-public xfce4-whiskermenu-plugin
(native-inputs
(list pkg-config intltool))
(inputs
- `(("xfce4-panel" ,xfce4-panel)
- ("garcon" ,garcon)
- ("gettext" ,gettext-minimal)
- ("exo" ,exo)
- ("gtk+" ,gtk+)
- ("libxfce4ui" ,libxfce4ui)))
+ (list xfce4-panel
+ garcon
+ gettext-minimal
+ exo
+ gtk
+ libxfce4ui))
(arguments
`(#:tests? #f ; no tests
#:phases
@@ -944,31 +944,31 @@ (define-public xfce
directories)
#t)))))
(inputs
- `(("exo" ,exo)
- ("garcon" ,garcon)
- ("gnome-icon-theme" ,gnome-icon-theme)
- ("gtk-xfce-engine" ,gtk-xfce-engine)
- ("hicolor-icon-theme" ,hicolor-icon-theme)
- ("mate-polkit-for-xfce" ,mate-polkit-for-xfce)
- ("ristretto" ,ristretto)
- ("shared-mime-info" ,shared-mime-info)
- ("thunar" ,thunar)
- ("thunar-volman" ,thunar-volman)
- ("tumbler" ,tumbler)
- ("xfce4-appfinder" ,xfce4-appfinder)
- ("xfce4-panel" ,xfce4-panel)
- ("xfce4-power-manager" ,xfce4-power-manager)
- ("xfce4-session" ,xfce4-session)
- ("xfce4-settings" ,xfce4-settings)
- ("xfce4-terminal" ,xfce4-terminal)
- ("xfconf" ,xfconf)
- ("xfdesktop" ,xfdesktop)
- ("xfwm4" ,xfwm4)
- ;; Panel plugins.
- ("xfce4-battery-plugin" ,xfce4-battery-plugin)
- ("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
- ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
- ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
+ (list exo
+ garcon
+ gnome-icon-theme
+ gtk-xfce-engine
+ hicolor-icon-theme
+ mate-polkit-for-xfce
+ ristretto
+ shared-mime-info
+ thunar
+ thunar-volman
+ tumbler
+ xfce4-appfinder
+ xfce4-panel
+ xfce4-power-manager
+ xfce4-session
+ xfce4-settings
+ xfce4-terminal
+ xfconf
+ xfdesktop
+ xfwm4
+ ;; Panel plugins.
+ xfce4-battery-plugin
+ xfce4-clipman-plugin
+ xfce4-pulseaudio-plugin
+ xfce4-xkb-plugin))
(propagated-inputs
;; Default font that applications such as IceCat require.
(list font-dejavu))
@@ -1261,19 +1261,19 @@ (define-public xfce4-screensaver
(string-append "DBUS_SESSION_SERVICE_DIR="
dbus-dir)))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib" ,glib) ; glib-compile-schemas
- ("glib:bin" ,glib "bin"))) ; glib-compile-schemas
+ (list pkg-config
+ intltool
+ glib ; glib-compile-schemas
+ `(,glib "bin"))) ; glib-compile-schemas
(inputs
- `(("dbus-glib" ,dbus-glib)
- ("libux-pam" ,linux-pam)
- ("elogind" ,elogind)
- ("garcon" ,garcon)
- ("libxklavier" ,libxklavier)
- ("libwnxk" ,libwnck)
- ("libxscrnsaver" ,libxscrnsaver)
- ("xfconf" ,xfconf)))
+ (list dbus-glib
+ linux-pam
+ elogind
+ garcon
+ libxklavier
+ libwnck
+ libxscrnsaver
+ xfconf))
(home-page "https://docs.xfce.org/apps/screensaver/start")
(synopsis "Screensaver for the Xfce desktop")
(description
--
2.34.0
'
'
'Brendan Tildesley wrote on 17 Mar 2022 09:04
[PATCH 5/6] gnu: XFCE: Add notification support
(address . 54434@debbugs.gnu.org)(name . Brendan Tildesley)(address . mail@brendan.scot)
20220317080428.12613-5-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/xfce.scm (xfce): add xfce4-notifyd to inputs for popup notifications.
---
gnu/packages/xfce.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 718e6be771..52952e2200 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -963,6 +963,7 @@ (define-public xfce
thunar-volman
tumbler
xfce4-appfinder
+ xfce4-notifyd
xfce4-panel
xfce4-power-manager
xfce4-session
--
2.34.0
'
'
'Brendan Tildesley wrote on 17 Mar 2022 09:04
[PATCH 6/6] gnu: mate-polkit: Improve synopsis.
(address . 54434@debbugs.gnu.org)(name . Brendan Tildesley)(address . mail@brendan.scot)
20220317080428.12613-6-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/mate.scm (mate-polkit): Improve synopsis.
---
gnu/packages/mate.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index dd6baa42b6..a35cef6430 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1464,7 +1464,7 @@ (define-public mate-polkit
gdk-pixbuf
polkit))
(home-page "https://mate-desktop.org/")
- (synopsis "DBus specific service for MATE")
+ (synopsis "PolicyKit Authentication agent for MATE")
(description
"MATE Polkit is a MATE specific DBUS service that is
used to bring up authentication dialogs.")
--
2.34.0
M
M
Maxime Devos wrote on 17 Mar 2022 18:36
Re: [bug#54434] [PATCH 4/6] gnu: mate-polkit-for-xfce: Unhide package.
d7280d881c62ff7232a65a70cd13a13acc0e8069.camel@telenet.be
'Brendan Tildesley schreef op do 17-03-2022 om 19:04 [+1100]:
Toggle quote (9 lines)
> -    (properties `((hidden? . #t)))))
> +    (synopsis "PolicyKit Authentication agent for XFCE")
> +    (description (string-append (package-description mate-polkit) "
> +
> +This package variant provides the MATE PolicyKit authentication agent
> +configured to autostart for XFCE. This is because the XFCE project does not
> +have its own official authentication agent, so we pick MATE PolicyKit as a
> +reasonable fit."))))

The description seems rather pointless to me because the package is
hidden (and hence, not visible to "guix show").
It could be put in a comment though. Additionally, as-is, this won't
be picked up for translation, maybe do
(string-append ... (P_ "foo bar ...")) instead.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjNxmhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kddAQCJ00IkOE/lj6R45DhoBhZxvMmx
dM0Z9zxD0PBHo49FoQD/QddkdAcbWurgKxUmO2j110yP7lXfP4NWgcUSBxwXnA4=
=xdTL
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 17 Mar 2022 20:48
Re: [bug#54434] [PATCH 3/6] gnu: XFCE: Remove input labels.
d91b26c9abf9a54fda96d80369a1443adff3810f.camel@telenet.be
'Brendan Tildesley schreef op do 17-03-2022 om 19:04 [+1100]:
Toggle quote (2 lines)
> +     (list tzdata ;; For fix-tzdata-path phase only.

FWIW, xfce4-pane shouldn't be including tzdata in the first place.
It's a package like nss-certs and le-certs: it contains facts about the
outside world that are independent of the current installation, so it
needs to look in environment variables ($TZDIR) instead, possibly with
a fallback to /usr/share/zoneinfo (for foreign distros and --pure).

More concretely, if you're using
"guix time-machine --commit=... -- shell xfce-FOO -- xfce-FOO", then
unless 'tzdata' is explicitly passed to 'shell', xfce-FOO needs to look
into $TZDIR or /usr/share/zoneinfo, such that dates are still
encoded/decoded correctly.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjOQlxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7rZCAQC7U6FvLsCH23lCAcOY8CiIP7iT
H/+qC5bYrUPcpwVurwD9ENO95+TmfE+jMu5fQIPBWbXLJ5gd6ZHPPN32MqyPGAA=
=dyJH
-----END PGP SIGNATURE-----


B
B
Brendan Tildesley wrote on 18 Mar 2022 06:10
Re: [bug#54434] [PATCH 4/6] gnu: mate-polkit-for-xfce: Unhide package.
f1e9688f-e28f-eae5-30b4-dea0ab5fbc01@brendan.scot
On 18/3/22 03:36, Maxime Devos wrote:
Toggle quote (11 lines)
> 'Brendan Tildesley schreef op do 17-03-2022 om 19:04 [+1100]:
>> -    (properties `((hidden? . #t)))))
>> +    (synopsis "PolicyKit Authentication agent for XFCE")
>> +    (description (string-append (package-description mate-polkit) "
>> +
>> +This package variant provides the MATE PolicyKit authentication agent
>> +configured to autostart for XFCE. This is because the XFCE project does not
>> +have its own official authentication agent, so we pick MATE PolicyKit as a
>> +reasonable fit."))))
> The description seems rather pointless to me because the package is
> hidden (and hence, not visible to "guix show").
I unhid the package as a part of the patch.
Toggle quote (3 lines)
> It could be put in a comment though. Additionally, as-is, this won't
> be picked up for translation, maybe do
> (string-append ... (P_ "foo bar ...")) instead.
I'll do that in v2
Toggle quote (3 lines)
>
> Greetings,
> Maxime.
B
B
Brendan Tildesley wrote on 18 Mar 2022 06:37
Re: [bug#54434] [PATCH 3/6] gnu: XFCE: Remove input labels.
34334d31-6c74-6cf2-244f-896c1b618e45@brendan.scot
On 18/3/22 05:48, Maxime Devos wrote:
Toggle quote (13 lines)
> 'Brendan Tildesley schreef op do 17-03-2022 om 19:04 [+1100]:
>> +     (list tzdata ;; For fix-tzdata-path phase only.
> FWIW, xfce4-pane shouldn't be including tzdata in the first place.
> It's a package like nss-certs and le-certs: it contains facts about the
> outside world that are independent of the current installation, so it
> needs to look in environment variables ($TZDIR) instead, possibly with
> a fallback to /usr/share/zoneinfo (for foreign distros and --pure).
>
> More concretely, if you're using
> "guix time-machine --commit=... -- shell xfce-FOO -- xfce-FOO", then
> unless 'tzdata' is explicitly passed to 'shell', xfce-FOO needs to look
> into $TZDIR or /usr/share/zoneinfo, such that dates are still
> encoded/decoded correctly.
Vaguely makes sense, maybe I'll look at that later. Here I'm just
updating the input labels
Toggle quote (3 lines)
>
> Greetings,
> Maxime.
'
'
'Brendan Tildesley wrote on 18 Mar 2022 08:38
[PATCH v2 0/7] XFCE Updates
(address . 54434@debbugs.gnu.org)(name . Maxime Devos)(address . maximedevos@telenet.be)
20220318073844.14290-1-mail@brendan.scot
This also includes a new 7th patch for xfce4-session. This allows panel
plugins to be loaded. For example I have xfce4-screenshooter installed, but
the screenshot panel plugin was not listed in xfces settings. Now it is. It
may be too much bother for you to test this patch. For me, it sets this in my
environment after logging in to xfce:

X_XFCE4_LIB_DIRS=/home/b/.guix-profile/lib/xfce4/:/run/current-system/profile/lib/xfce4

which successfully makes xfce4-panel load libscreenshooterplugin.so.
'
'
'Brendan Tildesley wrote on 18 Mar 2022 08:38
[PATCH v2 1/7] gnu: xfce4-whiskermenu-plugin: Update to 2.6.2.
(address . 54434@debbugs.gnu.org)
20220318073844.14290-2-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/xfce.scm (xfce4-whiskermenu-plugin): Update to 2.6.2.
---
gnu/packages/xfce.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index cdd98f2863..a96aca3742 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -535,7 +535,7 @@ (define-public xfce4-pulseaudio-plugin
(define-public xfce4-whiskermenu-plugin
(package
(name "xfce4-whiskermenu-plugin")
- (version "2.6.1")
+ (version "2.6.2")
(source
(origin
(method url-fetch)
@@ -543,7 +543,7 @@ (define-public xfce4-whiskermenu-plugin
"xfce4-whiskermenu-plugin/" (version-major+minor version) "/"
"xfce4-whiskermenu-plugin-" version ".tar.bz2"))
(sha256
- (base32 "0wpcc9i505mh6vphg27ph43dw4n3z59mwy39416yzmw325q04kl5"))))
+ (base32 "0vppm85pvhsigg5d74nx7cixlsrsyfjagw6avrdclfjr30nf483d"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config intltool))
--
2.34.0
'
'
'Brendan Tildesley wrote on 18 Mar 2022 08:38
[PATCH v2 2/7] gnu: xfce4-screenshooter: Update to 1.9.10.
(address . 54434@debbugs.gnu.org)
20220318073844.14290-3-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/xfce.scm (xfce4-screenshooter): Update to 1.9.10.
---
gnu/packages/xfce.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index a96aca3742..d22a0dc84f 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
-;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -1208,7 +1208,7 @@ (define-public mousepad
(define-public xfce4-screenshooter
(package
(name "xfce4-screenshooter")
- (version "1.9.9")
+ (version "1.9.10")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/apps/"
@@ -1218,7 +1218,7 @@ (define-public xfce4-screenshooter
version ".tar.bz2"))
(sha256
(base32
- "196swmc4amab8xcwv4q9p8b43fzzi9xagg20gnyjvf5x7yssxj1k"))))
+ "1mwjhakbjv9g6ffn6c55cbrfsrqhb2apwhmffvz8rfgm4y2igd04"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config intltool
--
2.34.0
'
'
'Brendan Tildesley wrote on 18 Mar 2022 08:38
[PATCH v2 3/7] gnu: XFCE: Remove input labels.
(address . 54434@debbugs.gnu.org)
20220318073844.14290-4-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

(xfconf, libxfce4ui, xfce4-panel, xfce4-whiskermenu-plugin, xfce,
xfce4-screensaver): Remove input labels.
---
gnu/packages/xfce.scm | 130 +++++++++++++++++++++---------------------
1 file changed, 65 insertions(+), 65 deletions(-)

Toggle diff (181 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index d22a0dc84f..150d21226b 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -164,12 +164,12 @@ (define-public xfconf
(string-append etc "/bash_completion.d"))))))
(delete 'check))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib:bin" ,glib "bin") ;; for gdbus-codegen
- ("gobject-introspection" ,gobject-introspection)
- ("vala" ,vala)
- ("dbus" ,dbus)))
+ (list pkg-config
+ intltool
+ `(,glib "bin") ;; for gdbus-codegen
+ gobject-introspection
+ vala
+ dbus))
(propagated-inputs
;; libxfconf-0.pc refers to all these.
(list glib))
@@ -201,10 +201,10 @@ (define-public libxfce4ui
(native-inputs
(list pkg-config intltool gobject-introspection))
(propagated-inputs
- `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc
- ;; libxfce4kbd-private-3.pc refers to all these.
- ("libxfce4util" ,libxfce4util)
- ("xfconf" ,xfconf)))
+ (list gtk+ ; required by libxfce4ui-2.pc
+ ;; libxfce4kbd-private-3.pc refers to all these.
+ libxfce4util
+ xfconf))
(inputs (list libsm libice startup-notification))
(home-page "https://www.xfce.org/")
(synopsis "Widgets library for Xfce")
@@ -415,20 +415,20 @@ (define-public xfce4-panel
(("/usr/share/zoneinfo")
(search-input-directory inputs "share/zoneinfo"))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib:bin" ,glib "bin")))
+ (list pkg-config
+ intltool
+ `(,glib "bin")))
(propagated-inputs
- `(("gtk+-3" ,gtk+) ; required by libxfce4panel-2.0.pc
- ("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-2.0.pc
+ (list gtk+ ; required by libxfce4panel-2.0.pc
+ libxfce4util)) ; required by libxfce4panel-2.0.pc
(inputs
- `(("tzdata" ,tzdata) ;; For fix-tzdata-path phase only.
- ("exo" ,exo)
- ("gtk+-2" ,gtk+-2)
- ("xfconf" ,xfconf)
- ("garcon" ,garcon)
- ("libwnck" ,libwnck)
- ("libxfce4ui" ,libxfce4ui)))
+ (list tzdata ;; For fix-tzdata-path phase only.
+ exo
+ gtk+-2
+ xfconf
+ garcon
+ libwnck
+ libxfce4ui))
(native-search-paths
(list (search-path-specification
(variable "X_XFCE4_LIB_DIRS")
@@ -548,12 +548,12 @@ (define-public xfce4-whiskermenu-plugin
(native-inputs
(list pkg-config intltool))
(inputs
- `(("xfce4-panel" ,xfce4-panel)
- ("garcon" ,garcon)
- ("gettext" ,gettext-minimal)
- ("exo" ,exo)
- ("gtk+" ,gtk+)
- ("libxfce4ui" ,libxfce4ui)))
+ (list xfce4-panel
+ garcon
+ gettext-minimal
+ exo
+ gtk
+ libxfce4ui))
(arguments
`(#:tests? #f ; no tests
#:phases
@@ -944,31 +944,31 @@ (define-public xfce
directories)
#t)))))
(inputs
- `(("exo" ,exo)
- ("garcon" ,garcon)
- ("gnome-icon-theme" ,gnome-icon-theme)
- ("gtk-xfce-engine" ,gtk-xfce-engine)
- ("hicolor-icon-theme" ,hicolor-icon-theme)
- ("mate-polkit-for-xfce" ,mate-polkit-for-xfce)
- ("ristretto" ,ristretto)
- ("shared-mime-info" ,shared-mime-info)
- ("thunar" ,thunar)
- ("thunar-volman" ,thunar-volman)
- ("tumbler" ,tumbler)
- ("xfce4-appfinder" ,xfce4-appfinder)
- ("xfce4-panel" ,xfce4-panel)
- ("xfce4-power-manager" ,xfce4-power-manager)
- ("xfce4-session" ,xfce4-session)
- ("xfce4-settings" ,xfce4-settings)
- ("xfce4-terminal" ,xfce4-terminal)
- ("xfconf" ,xfconf)
- ("xfdesktop" ,xfdesktop)
- ("xfwm4" ,xfwm4)
- ;; Panel plugins.
- ("xfce4-battery-plugin" ,xfce4-battery-plugin)
- ("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
- ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
- ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
+ (list exo
+ garcon
+ gnome-icon-theme
+ gtk-xfce-engine
+ hicolor-icon-theme
+ mate-polkit-for-xfce
+ ristretto
+ shared-mime-info
+ thunar
+ thunar-volman
+ tumbler
+ xfce4-appfinder
+ xfce4-panel
+ xfce4-power-manager
+ xfce4-session
+ xfce4-settings
+ xfce4-terminal
+ xfconf
+ xfdesktop
+ xfwm4
+ ;; Panel plugins.
+ xfce4-battery-plugin
+ xfce4-clipman-plugin
+ xfce4-pulseaudio-plugin
+ xfce4-xkb-plugin))
(propagated-inputs
;; Default font that applications such as IceCat require.
(list font-dejavu))
@@ -1261,19 +1261,19 @@ (define-public xfce4-screensaver
(string-append "DBUS_SESSION_SERVICE_DIR="
dbus-dir)))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib" ,glib) ; glib-compile-schemas
- ("glib:bin" ,glib "bin"))) ; glib-compile-schemas
+ (list pkg-config
+ intltool
+ glib ; glib-compile-schemas
+ `(,glib "bin"))) ; glib-compile-schemas
(inputs
- `(("dbus-glib" ,dbus-glib)
- ("libux-pam" ,linux-pam)
- ("elogind" ,elogind)
- ("garcon" ,garcon)
- ("libxklavier" ,libxklavier)
- ("libwnxk" ,libwnck)
- ("libxscrnsaver" ,libxscrnsaver)
- ("xfconf" ,xfconf)))
+ (list dbus-glib
+ linux-pam
+ elogind
+ garcon
+ libxklavier
+ libwnck
+ libxscrnsaver
+ xfconf))
(home-page "https://docs.xfce.org/apps/screensaver/start")
(synopsis "Screensaver for the Xfce desktop")
(description
--
2.34.0
'
'
'Brendan Tildesley wrote on 18 Mar 2022 08:38
[PATCH v2 4/7] gnu: mate-polkit-for-xfce: Unhide package.
(address . 54434@debbugs.gnu.org)
20220318073844.14290-5-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/xfce.scm (mate-polkit-for-xfce): Package doesn't
particularly need to be hidden.
[name]: Provide a unique name for this variant.
[description]: Explain packages purpose.
---
gnu/packages/xfce.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 150d21226b..731bbd791d 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -75,6 +75,7 @@ (define-module (gnu packages xfce)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
+ #:use-module (guix i18n)
#:use-module ((guix licenses) #:hide (freetype))
#:use-module (guix packages)
#:use-module (guix utils))
@@ -911,6 +912,7 @@ (define-public xfce4-terminal
(define-public mate-polkit-for-xfce
(package/inherit mate-polkit
+ (name "mate-polkit-for-xfce")
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -924,7 +926,14 @@ (define-public mate-polkit-for-xfce
(substitute* old (("MATE;") "XFCE;"))
;; To avoid a conflict if both MATE and XFCE are installed.
(rename-file old new)))))))
- (properties `((hidden? . #t)))))
+ (synopsis "PolicyKit Authentication agent for XFCE")
+ (description
+ (string-append
+ (package-description mate-polkit) "\n\n"
+ (P_ "This package variant provides the MATE PolicyKit authentication
+agent configured to autostart for XFCE. This is because the XFCE project does
+not have its own official authentication agent, so we pick MATE PolicyKit as a
+reasonable fit.")))))
(define-public xfce
(package
--
2.34.0
'
'
'Brendan Tildesley wrote on 18 Mar 2022 08:38
[PATCH v2 5/7] gnu: XFCE: Add notification support
(address . 54434@debbugs.gnu.org)
20220318073844.14290-6-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/xfce.scm (xfce): add xfce4-notifyd to inputs for popup notifications.
---
gnu/packages/xfce.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 731bbd791d..c36749c6a4 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -965,6 +965,7 @@ (define-public xfce
thunar-volman
tumbler
xfce4-appfinder
+ xfce4-notifyd
xfce4-panel
xfce4-power-manager
xfce4-session
--
2.34.0
'
'
'Brendan Tildesley wrote on 18 Mar 2022 08:38
[PATCH v2 6/7] gnu: mate-polkit: Improve synopsis.
(address . 54434@debbugs.gnu.org)
20220318073844.14290-7-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

* gnu/packages/mate.scm (mate-polkit): Improve synopsis.
---
gnu/packages/mate.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index dd6baa42b6..a35cef6430 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1464,7 +1464,7 @@ (define-public mate-polkit
gdk-pixbuf
polkit))
(home-page "https://mate-desktop.org/")
- (synopsis "DBus specific service for MATE")
+ (synopsis "PolicyKit Authentication agent for MATE")
(description
"MATE Polkit is a MATE specific DBUS service that is
used to bring up authentication dialogs.")
--
2.34.0
'
'
'Brendan Tildesley wrote on 18 Mar 2022 08:38
[PATCH v2 7/7] gnu: xfce4-session: Load user panel plugins.
(address . 54434@debbugs.gnu.org)
20220318073844.14290-8-mail@brendan.scot
From: Brendan Tildesley <mail@brendan.scot>

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

Toggle diff (54 lines)
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 <mail@brendan.scot>
+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
M
M
Maxime Devos wrote on 18 Mar 2022 09:16
Re: [bug#54434] [PATCH 4/6] gnu: mate-polkit-for-xfce: Unhide package.
a4b65345c2370061fec65b7a4cbc33c61b47620a.camel@telenet.be
Brendan Tildesley schreef op vr 18-03-2022 om 16:10 [+1100]:
Toggle quote (3 lines)
> > hidden (and hence, not visible to "guix show").
> I unhid the package as a part of the patch.

OK, I didn't notice.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYjQ/5BccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jseAP9Aoi1RMsIyXs/kUENljUpq6Cis
AA1As7qUMdgJxiM6SgD/ePQqbeR1Aqqy0lduXTchy9DoSrI0GroqOvAAimvBuwU=
=XYiQ
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 3 Apr 2022 12:25
Re: bug#54434: [PATCH 0/6] XFCE Updates
(name . 'Brendan Tildesley)(address . mail@brendan.scot)
87h77awjij.fsf_-_@gnu.org
Hi,

'Brendan Tildesley <mail@brendan.scot> writes:

Toggle quote (7 lines)
> From: Brendan Tildesley <mail@brendan.scot>
>
> * gnu/packages/xfce.scm (mate-polkit-for-xfce): Package doesn't
> particularly need to be hidden.
> [name]: Provide a unique name for this variant.
> [description]: Explain packages purpose.

[...]

Toggle quote (19 lines)
> (package/inherit mate-polkit
> + (name "mate-polkit-for-xfce")
> (arguments
> `(#:phases
> (modify-phases %standard-phases
> @@ -924,7 +926,14 @@ (define-public mate-polkit-for-xfce
> (substitute* old (("MATE;") "XFCE;"))
> ;; To avoid a conflict if both MATE and XFCE are installed.
> (rename-file old new)))))))
> - (properties `((hidden? . #t)))))
> + (synopsis "PolicyKit Authentication agent for XFCE")
> + (description
> + (string-append
> + (package-description mate-polkit) "\n\n"
> + (P_ "This package variant provides the MATE PolicyKit authentication
> +agent configured to autostart for XFCE. This is because the XFCE project does
> +not have its own official authentication agent, so we pick MATE PolicyKit as a
> +reasonable fit.")))))

“Polkit” is really called “Polkit”; “PolicyKit” was its predecessor and
it’s important to distinguish them.

I’m not convinced this package needs to be made public though because
it’s not meant to be installed manually.

WDYT?

Ludo’.
L
L
Ludovic Courtès wrote on 3 Apr 2022 12:33
(name . 'Brendan Tildesley)(address . mail@brendan.scot)
87ee2ewj69.fsf_-_@gnu.org
'Brendan Tildesley <mail@brendan.scot> writes:

Toggle quote (11 lines)
> From: Brendan Tildesley <mail@brendan.scot>
>
> 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.

Looks like leading stars disappeared from the commit log. :-)

Toggle quote (7 lines)
> +++ 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 <mail@brendan.scot>
> +Date: Thu, 17 Mar 2022 19:49:12 +1100
> +Subject: [PATCH] startxfce4: load plugins from user profile

A single line stating what the patch does would be enough.

Toggle quote (7 lines)
> ++++ 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"

There’s extra space at the beginning of the line.

One problem is that this won’t work for those using Guix Home, where the
default profile is ~/.guix-home/profile.

Can this extra variable be avoided? Or could it be handled by a search
path specification?

I’ve applied the other patches in the meantime.

Thanks!

Ludo’.
B
B
Brendan Tildesley wrote on 4 Apr 2022 03:13
(name . Ludovic Courtès)(address . ludo@gnu.org)
c86c5a8b-6e89-9d6e-36d8-b107cf8dbb9f@brendan.scot
On 3/4/22 8:25 pm, Ludovic Courtès wrote:
Toggle quote (3 lines)
> [...]
> “Polkit” is really called “Polkit”; “PolicyKit” was its predecessor and
> it’s important to distinguish them.
Understood.
Toggle quote (4 lines)
> I’m not convinced this package needs to be made public though because
> it’s not meant to be installed manually.
>
> WDYT?
I felt packages should have a justification for being hidden rather than
unhidden :)
If it should be hidden then mate-polkit its' self may as well be..? But
you can
have it which ever way you want.
What bad thing happens when it isn't hidden? Making work for translators?
Toggle quote (2 lines)
>
> Ludo’.
B
B
Brendan Tildesley wrote on 4 Apr 2022 04:42
(name . Ludovic Courtès)(address . ludo@gnu.org)
019a1901-860b-137a-a973-9b3c505acd7f@brendan.scot
On 3/4/22 8:33 pm, Ludovic Courtès wrote:
Toggle quote (6 lines)
> [...]
> One problem is that this won’t work for those using Guix Home, where the
> default profile is ~/.guix-home/profile.
>
> Can this extra variable be avoided? Or could it be handled by a search
> path specification?
It's xfce4-panel that needs the search path to load .so files for panel
plugins.
xfce4-panel already has the search-path set to load them, but since its
installed
to the system profile,it does not load the user installed plugins. If
xfce4-panel
was a user installed package it may work but userswould have to manually
install it.
So I'm not sure how else to solve it.
Toggle quote (5 lines)
> I’ve applied the other patches in the meantime.
>
> Thanks!
>
> Ludo’.
F
F
Feng Shu wrote on 4 Apr 2022 04:56
Re: [bug#54434] [PATCH 0/6] XFCE Updates
(name . Brendan Tildesley)(address . mail@brendan.scot)
87o81hy2sw.fsf@163.com
Brendan Tildesley <mail@brendan.scot> writes:

Toggle quote (17 lines)
> On 3/4/22 8:33 pm, Ludovic Courtès wrote:
>> [...]
>> One problem is that this won’t work for those using Guix Home, where the
>> default profile is ~/.guix-home/profile.
>>
>> Can this extra variable be avoided? Or could it be handled by a search
>> path specification?
> It's xfce4-panel that needs the search path to load .so files for
> panel plugins.
> xfce4-panel already has the search-path set to load them, but since
> its installed
> to the system profile,it does not load the user installed plugins. If
> xfce4-panel
> was a user installed package it may work but userswould have to
> manually install it.
> So I'm not sure how else to solve it.

What happen when version of xfce4-panel installed in system profile is
different from installed in home profile?


Toggle quote (8 lines)
>> I’ve applied the other patches in the meantime.
>>
>> Thanks!
>>
>> Ludo’.
>
>

--
B
B
Brendan Tildesley wrote on 4 Apr 2022 05:53
(name . Feng Shu)(address . tumashu@163.com)
17675c0b-22c0-db01-b9ef-ee3348326056@brendan.scot
On 4/4/22 12:56 pm, Feng Shu wrote:
Toggle quote (20 lines)
> Brendan Tildesley <mail@brendan.scot> writes:
>
>> On 3/4/22 8:33 pm, Ludovic Courtès wrote:
>>> [...]
>>> One problem is that this won’t work for those using Guix Home, where the
>>> default profile is ~/.guix-home/profile.
>>>
>>> Can this extra variable be avoided? Or could it be handled by a search
>>> path specification?
>> It's xfce4-panel that needs the search path to load .so files for
>> panel plugins.
>> xfce4-panel already has the search-path set to load them, but since
>> its installed
>> to the system profile,it does not load the user installed plugins. If
>> xfce4-panel
>> was a user installed package it may work but userswould have to
>> manually install it.
>> So I'm not sure how else to solve it.
> What happen when version of xfce4-panel installed in system profile is
> different from installed in home profile?
I think xfce4-panel will be run from $PATH so the system version will
be picked first and the user installed one will be ignored. The search
path will be set but will not work until the user logs out and back in
again, which is not ideal. I'd like a user to be able to install a plugin
and have it appear in the settings menu immediately.
F
F
Feng Shu wrote on 4 Apr 2022 06:59
(name . Brendan Tildesley)(address . mail@brendan.scot)
87h779xx2r.fsf@163.com
Brendan Tildesley <mail@brendan.scot> writes:

Toggle quote (28 lines)
> On 4/4/22 12:56 pm, Feng Shu wrote:
>> Brendan Tildesley <mail@brendan.scot> writes:
>>
>>> On 3/4/22 8:33 pm, Ludovic Courtès wrote:
>>>> [...]
>>>> One problem is that this won’t work for those using Guix Home, where the
>>>> default profile is ~/.guix-home/profile.
>>>>
>>>> Can this extra variable be avoided? Or could it be handled by a search
>>>> path specification?
>>> It's xfce4-panel that needs the search path to load .so files for
>>> panel plugins.
>>> xfce4-panel already has the search-path set to load them, but since
>>> its installed
>>> to the system profile,it does not load the user installed plugins. If
>>> xfce4-panel
>>> was a user installed package it may work but userswould have to
>>> manually install it.
>>> So I'm not sure how else to solve it.
>> What happen when version of xfce4-panel installed in system profile is
>> different from installed in home profile?
> I think xfce4-panel will be run from $PATH so the system version will
> be picked first and the user installed one will be ignored. The search
> path will be set but will not work until the user logs out and back in
> again, which is not ideal. I'd like a user to be able to install a plugin
> and have it appear in the settings menu immediately.
>

Maybe it will first find xfce.desktop in <user-profile>/share/xsessions,
then in <system-profile>/share/xsessions.


(define* (xinitrc #:key fallback-session)
"Return a system-wide xinitrc script that starts the specified X session,
which should be passed to this script as the first argument. If not, the
@var{fallback-session} will be used or, if @var{fallback-session} is false, a
desktop session from the system or user profile will be used."
(define builder
#~(begin
(use-modules (ice-9 match)
(ice-9 regex)
(ice-9 ftw)
(ice-9 rdelim)
(srfi srfi-1)
(srfi srfi-26))

(define (close-all-fdes)
;; Close all the open file descriptors except 0 to 2.
(let loop ((fd 3))
(when (< fd 4096) ;FIXME: use sysconf + _SC_OPEN_MAX
(false-if-exception (close-fdes fd))
(loop (+ 1 fd)))))

(define (exec-from-login-shell command . args)
;; Run COMMAND from a login shell so that it gets to see the same
;; environment variables that one gets when logging in on a tty, for
;; instance.
(let* ((pw (getpw (getuid)))
(shell (passwd:shell pw)))
;; Close any open file descriptors. This is all the more
;; important that SLiM itself exec's us directly without closing
;; its own file descriptors!
(close-all-fdes)

;; The '--login' option is supported at least by Bash and zsh.
(execl shell shell "--login" "-c"
(string-join (cons command args)))))

(define system-profile
"/run/current-system/profile")

(define user-profile
(and=> (getpw (getuid))
(lambda (pw)
(string-append (passwd:dir pw) "/.guix-profile"))))

(define (xsession-command desktop-file)
;; Read from DESKTOP-FILE its X session command and return it as a
;; list.
(define exec-regexp
(make-regexp "^[[:blank:]]*Exec=(.*)$"))

(call-with-input-file desktop-file
(lambda (port)
(let loop ()
(match (read-line port)
((? eof-object?) #f)
((= (cut regexp-exec exec-regexp <>) result)
(if result
(string-tokenize (match:substring result 1))
(loop))))))))

(define (find-session profile)
;; Return an X session command from PROFILE or #f if none was found.
(let ((directory (string-append profile "/share/xsessions")))
(match (scandir directory
(cut string-suffix? ".desktop" <>))
((or () #f)
#f)
((sessions ...)
(any xsession-command
(map (cut string-append directory "/" <>)
sessions))))))

(let* ((home (getenv "HOME"))
(xsession-file (string-append home "/.xsession"))
(session (match (command-line)
((_)
#$(if fallback-session
#~(list #$fallback-session)
#f))
((_ x ..1)
x))))
(if (file-exists? xsession-file)
;; Run ~/.xsession when it exists.
(apply exec-from-login-shell xsession-file
(or session '()))
;; Otherwise, start the specified session or a fallback.
(apply exec-from-login-shell
(or session
(find-session user-profile)
(find-session system-profile)))))))

(program-file "xinitrc" builder))



--
?
Re: bug#54434: [PATCH 0/6] XFCE Updates
(name . Brendan Tildesley)(address . mail@brendan.scot)
87czcthybz.fsf_-_@envs.net
Brendan Tildesley <mail@brendan.scot> writes:

Toggle quote (27 lines)
> On 4/4/22 12:56 pm, Feng Shu wrote:
>> Brendan Tildesley <mail@brendan.scot> writes:
>>
>>> On 3/4/22 8:33 pm, Ludovic Courtès wrote:
>>>> [...]
>>>> One problem is that this won’t work for those using Guix Home, where the
>>>> default profile is ~/.guix-home/profile.
>>>>
>>>> Can this extra variable be avoided? Or could it be handled by a search
>>>> path specification?
>>> It's xfce4-panel that needs the search path to load .so files for
>>> panel plugins.
>>> xfce4-panel already has the search-path set to load them, but since
>>> its installed
>>> to the system profile,it does not load the user installed plugins. If
>>> xfce4-panel
>>> was a user installed package it may work but userswould have to
>>> manually install it.
>>> So I'm not sure how else to solve it.
>> What happen when version of xfce4-panel installed in system profile is
>> different from installed in home profile?
> I think xfce4-panel will be run from $PATH so the system version will
> be picked first and the user installed one will be ignored. The search
> path will be set but will not work until the user logs out and back in
> again, which is not ideal. I'd like a user to be able to install a plugin
> and have it appear in the settings menu immediately.

Hello, when the version of xfce4-panel and its plugins are different,
xfce4-panel may crash, unable to start. I think it's best keep them in
one profile, and prefer user's profile. Well, the polkit actions need
installed into the system profile though.
B
B
Brendan Tildesley wrote on 9 Oct 2022 08:30
(address . 54434@debbugs.gnu.org)
9e9cbb6d-aecd-364c-5166-a9056521f905@brendan.scot
??? writes:

> Brendan Tildesley writes:
>
>> On 4/4/22 12:56 pm, Feng Shu wrote:
>>> Brendan Tildesley writes:
>>>
>>>> On 3/4/22 8:33 pm, Ludovic Courtès wrote:
>>>>> [...]
>>>>> One problem is that this won’t work for those using Guix Home,
where the
>>>>> default profile is ~/.guix-home/profile.
>>>>>
>>>>> Can this extra variable be avoided? Or could it be handled by a
search
>>>>> path specification?
>>>> It's xfce4-panel that needs the search path to load .so files for
>>>> panel plugins.
>>>> xfce4-panel already has the search-path set to load them, but since
>>>> its installed
>>>> to the system profile,it does not load the user installed plugins. If
>>>> xfce4-panel
>>>> was a user installed package it may work but userswould have to
>>>> manually install it.
>>>> So I'm not sure how else to solve it.
>>> What happen when version of xfce4-panel installed in system profile is
>>> different from installed in home profile?
>> I think xfce4-panel will be run from $PATH so the system version will
>> be picked first and the user installed one will be ignored. The search
>> path will be set but will not work until the user logs out and back in
>> again, which is not ideal. I'd like a user to be able to install a
plugin
>> and have it appear in the settings menu immediately.
>
> Hello, when the version of xfce4-panel and its plugins are different,
> xfce4-panel may crash, unable to start. I think it's best keep them in
> one profile, and prefer user's profile. Well, the polkit actions need
> installed into the system profile though.

If the user installs XFCE manually in the profile, I'm not sure it will
find locally installed plugins anyway will it? I haven't tested it. I
use XFCE installed globally via the service.

With XFCE in the local profile it is not possible for a login manager to
detect and launch it, so to use it with a login manager it must be
installed globally, just like on any other distro. I guess that is
acceptable.

Perhaps it is ok to let the user take responsibility for any such
incompatibility that may occur?
Attachment: file
?
Re: [bug#54434] [PATCH 0/6] XFCE Updates
(name . Ludovic Courtès)(address . ludo@gnu.org)
87msyf30n5.fsf@envs.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (22 lines)
>> ++++ 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"
>
> There’s extra space at the beginning of the line.
>
> One problem is that this won’t work for those using Guix Home, where the
> default profile is ~/.guix-home/profile.
>
> Can this extra variable be avoided? Or could it be handled by a search
> path specification?
>
> I’ve applied the other patches in the meantime.
>
> Thanks!
>
> Ludo’.

We have X_XFCE4_LIB_DIRS as a search-path-specification now, closing.

Thanks.
Closed
?