mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
services: elogind-configuration: Add more sleep configurations
* gnu/services/desktop.scm (<elogind-configuration>): Allow actions to be set to 'suspend-then-hibernate'. Add configuration for 'hibernate-delay-seconds' and 'suspend-estimation-seconds'. * doc/guix.texi (Desktop Services): Add documentation for 'hibernate-delay-seconds' and 'suspend-estimation-seconds'. Change-Id: Icf788fcc88451aa6174a608fbed309961b847430 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
410c85f400
commit
0b65a43cf8
2 changed files with 18 additions and 3 deletions
|
@ -24996,6 +24996,12 @@ Data type representing the configuration of @command{elogind}.
|
|||
@item @code{hybrid-sleep-mode} (default: @code{'("suspend" "platform" "shutdown")}) (type: list)
|
||||
...
|
||||
|
||||
@item @code{hibernate-delay-seconds} (default: @code{*unspecified*}) (type: integer)
|
||||
...
|
||||
|
||||
@item @code{suspend-estimation-seconds} (default: @code{*unspecified*}) (type: integer)
|
||||
...
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
|
|
@ -1080,7 +1080,11 @@ (define-record-type* <elogind-configuration> elogind-configuration
|
|||
(default '("disk")))
|
||||
(hybrid-sleep-mode elogind-hybrid-sleep-mode
|
||||
(default
|
||||
'("suspend" "platform" "shutdown"))))
|
||||
'("suspend" "platform" "shutdown")))
|
||||
(hibernate-delay-seconds elogind-hibernate-delay-seconds
|
||||
(default *unspecified*))
|
||||
(suspend-estimation-seconds elogind-suspend-estimation-seconds
|
||||
(default *unspecified*)))
|
||||
|
||||
(define (elogind-configuration-file config)
|
||||
(define (yesno x)
|
||||
|
@ -1104,8 +1108,11 @@ (define (non-negative-integer x)
|
|||
(unless (exact-integer? x) (error "not an integer" x))
|
||||
(when (negative? x) (error "negative number not allowed" x))
|
||||
(number->string x))
|
||||
(define (maybe-non-negative-integer x)
|
||||
(or (and (unspecified? x) x)
|
||||
(non-negative-integer x)))
|
||||
(define handle-actions
|
||||
'(ignore poweroff reboot halt kexec suspend hibernate hybrid-sleep lock))
|
||||
'(ignore poweroff reboot halt kexec suspend hibernate hybrid-sleep suspend-then-hibernate lock))
|
||||
(define (handle-action x)
|
||||
(if (unspecified? x)
|
||||
x ;let the unspecified value go through
|
||||
|
@ -1163,7 +1170,9 @@ (define-syntax-rule (ini-file config file clause ...)
|
|||
("HibernateState" (sleep-list elogind-hibernate-state))
|
||||
("HibernateMode" (sleep-list elogind-hibernate-mode))
|
||||
("HybridSleepState" (sleep-list elogind-hybrid-sleep-state))
|
||||
("HybridSleepMode" (sleep-list elogind-hybrid-sleep-mode))))
|
||||
("HybridSleepMode" (sleep-list elogind-hybrid-sleep-mode))
|
||||
("HibernateDelaySec" (maybe-non-negative-integer elogind-hibernate-delay-seconds))
|
||||
("SuspendEstimationSec" (maybe-non-negative-integer elogind-suspend-estimation-seconds))))
|
||||
|
||||
(define (elogind-dbus-service config)
|
||||
"Return a @file{org.freedesktop.login1.service} file that tells D-Bus how to
|
||||
|
|
Loading…
Reference in a new issue