diff mbox series

[bug#37764] services: xfce: Add xfce4-power-manager to polkit settings.

Message ID 8465d5c7-af94-4e51-8874-8eab11492f5b@www.fastmail.com
State Accepted
Headers show
Series [bug#37764] services: xfce: Add xfce4-power-manager to polkit settings. | expand

Commit Message

David Wilson Oct. 15, 2019, 12:17 p.m. UTC
Hi all!

This patch fixes an issue in the XFCE desktop service configuration which causes the polkit action for xfce4-power-manager to not be installed in /etc/polkit-1/actions. The lack of this file causes the user to be prompted for administrator credentials when they attempt to use their laptop's screen brightness keys.

The fix is to use a similar pattern to the GNOME service and add an 'xfce-polkit-settings' procedure which generates the list of XFCE packages that contain polkit actions to install. Now that this list contains 'xfce4-power-manager`, the polkit file 'org.xfce.power.policy' is installed correctly and the screen brightness keys work as intended.

Thanks!

David

Comments

Danny Milosavljevic Oct. 20, 2019, 10:08 a.m. UTC | #1
Thanks!  Pushed to guix master as commit 849af4ae1ba6d4d0b3da3d47fc29ce33b532e4da.
diff mbox series

Patch

From ab45872546d34b6968d52829e58a3007b898c287 Mon Sep 17 00:00:00 2001
From: David Wilson <david@daviwil.com>
Date: Mon, 14 Oct 2019 20:54:13 -0700
Subject: [PATCH] services: xfce: Add xfce4-power-manager to polkit settings.

* gnu/services/desktop.scm (xfce-desktop-service-type): Add
xfce4-power-manager to polkit-service-type service extension via
new procedure 'xfce-polkit-settings'.
---
 gnu/services/desktop.scm | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index a32756e040..5a7f8be4bb 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -9,6 +9,7 @@ 
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017, 2019 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
+;;; Copyright © 2019 David Wilson <david@daviwil.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -907,15 +908,21 @@  and extends polkit with the actions from @code{mate-settings-daemon}."
   xfce-desktop-configuration
   (xfce xfce-package (default xfce)))
 
+(define (xfce-polkit-settings config)
+  "Return the list of XFCE dependencies that provide polkit actions and
+rules."
+  (let ((xfce (xfce-package config)))
+    (map (lambda (name)
+           ((package-direct-input-selector name) xfce))
+         '("thunar"
+           "xfce4-power-manager"))))
+
 (define xfce-desktop-service-type
   (service-type
    (name 'xfce-desktop)
    (extensions
     (list (service-extension polkit-service-type
-                             (compose list
-                                      (package-direct-input-selector
-                                       "thunar")
-                                      xfce-package))
+                             xfce-polkit-settings)
           (service-extension profile-service-type
                              (compose list xfce-package))))
    (default-value (xfce-desktop-configuration))
-- 
2.23.0