summary refs log tree commit diff
path: root/gnu/services/xorg.scm
diff options
context:
space:
mode:
authorBruno Victal <mirai@makinata.eu>2023-03-06 17:26:44 +0000
committerLudovic Courtès <ludo@gnu.org>2023-03-10 14:49:58 +0100
commit5627c73a9e410c7e28d67df517bd275d8c5f5d8d (patch)
treeabde077521c315d9f952ba71eef5e34d63991d9e /gnu/services/xorg.scm
parent1a6f230dd3228ada28ae54166debecd634998663 (diff)
downloadguix-5627c73a9e410c7e28d67df517bd275d8c5f5d8d.tar.gz
services: xorg: Deprecate 'screen-locker-service' procedure.
* doc/guix.texi (X Window): Replace 'screen-locker-service' with 'screen-locker-service-type'.
Document <screen-locker-configuration>.
* gnu/services/desktop.scm (desktop-services-for-system): Use screen-locker-service-type.
* gnu/services/xorg.scm: Export accessors for <screen-locker-configuration>.
(<screen-locker>): Rename to ...
(<screen-locker-configuration>): ... this.
(<screen-locker-configuration>)[empty?]: Rename to ...
(<screen-locker-configuration>)[allow-empty-password?]: ... this.
(screen-locker-pam-services): Update record name.
(screen-locker-setuid-programs): Update accessor name.
(screen-locker-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/services/xorg.scm')
-rw-r--r--gnu/services/xorg.scm47
1 files changed, 30 insertions, 17 deletions
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 5f073d05d3..c4745cecf5 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -107,10 +107,13 @@
 
             slim-service-type
 
-            screen-locker
-            screen-locker?
+            screen-locker-configuration
+            screen-locker-configuration?
+            screen-locker-configuration-name
+            screen-locker-configuration-program
+            screen-locker-configuration-allow-empty-password?
             screen-locker-service-type
-            screen-locker-service
+            screen-locker-service  ; deprecated
 
             localed-configuration
             localed-configuration?
@@ -683,21 +686,30 @@ reboot_cmd " shepherd "/sbin/reboot\n"
 ;;; Screen lockers & co.
 ;;;
 
-(define-record-type <screen-locker>
-  (screen-locker name program empty?)
+(define-record-type <screen-locker-configuration>
+  (screen-locker-configuration name program allow-empty-password?)
+  screen-locker-configuration?
+  (name    screen-locker-configuration-name)           ;string
+  (program screen-locker-configuration-program)        ;gexp
+  (allow-empty-password?
+   screen-locker-configuration-allow-empty-password?)) ;Boolean
+
+(define-deprecated/public-alias
+  screen-locker
+  screen-locker-configuration)
+
+(define-deprecated/public-alias
   screen-locker?
-  (name    screen-locker-name)                     ;string
-  (program screen-locker-program)                  ;gexp
-  (empty?  screen-locker-allows-empty-passwords?)) ;Boolean
+  screen-locker-configuration?)
 
 (define screen-locker-pam-services
   (match-lambda
-    (($ <screen-locker> name _ empty?)
+    (($ <screen-locker-configuration> name _ empty?)
      (list (unix-pam-service name
                              #:allow-empty-passwords? empty?)))))
 
 (define screen-locker-setuid-programs
-  (compose list file-like->setuid-program screen-locker-program))
+  (compose list file-like->setuid-program screen-locker-configuration-program))
 
 (define screen-locker-service-type
   (service-type (name 'screen-locker)
@@ -711,10 +723,11 @@ reboot_cmd " shepherd "/sbin/reboot\n"
 the graphical server by making it setuid-root, so it can authenticate users,
 and by creating a PAM service for it.")))
 
-(define* (screen-locker-service package
-                                #:optional
-                                (program (package-name package))
-                                #:key allow-empty-passwords?)
+(define-deprecated (screen-locker-service package
+                                          #:optional
+                                          (program (package-name package))
+                                          #:key allow-empty-passwords?)
+  screen-locker-service-type
   "Add @var{package}, a package for a screen locker or screen saver whose
 command is @var{program}, to the set of setuid programs and add a PAM entry
 for it.  For example:
@@ -725,9 +738,9 @@ for it.  For example:
 
 makes the good ol' XlockMore usable."
   (service screen-locker-service-type
-           (screen-locker program
-                          (file-append package "/bin/" program)
-                          allow-empty-passwords?)))
+           (screen-locker-configuration program
+                                        (file-append package "/bin/" program)
+                                        allow-empty-passwords?)))
 
 
 ;;;