unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#72504] [PATCH] services: elogind-configuration: Add more sleep configurations
@ 2024-08-07  1:51 Morgan Smith
  2024-08-15 15:15 ` [bug#72504] QA review for 72504 Nicolas Graves via Guix-patches via
  2024-08-21 16:59 ` bug#72504: [PATCH] services: elogind-configuration: Add more sleep configurations Ludovic Courtès
  0 siblings, 2 replies; 3+ messages in thread
From: Morgan Smith @ 2024-08-07  1:51 UTC (permalink / raw)
  To: 72504
  Cc: Morgan Smith, Florian Pelz, Ludovic Courtès,
	Matthew Trzcinski, Maxim Cournoyer

* 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
---

This patch exists so I can use and configure the suspend-then-hibernate action
of elogind.  This will save me the frustration of having my laptop battery die
in my backpack.

I tested that this produces the correct configurations.

 doc/guix.texi            |  6 ++++++
 gnu/services/desktop.scm | 15 ++++++++++++---
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index b7eb8fd346..92ce8c2268 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -24986,6 +24986,12 @@ Desktop Services
 @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
 
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 63e2011ce3..9c4d2a1822 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -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 (elogind-configuration-file config)
     (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 (elogind-configuration-file config)
    ("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
-- 
2.45.2





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#72504] QA review for 72504
  2024-08-07  1:51 [bug#72504] [PATCH] services: elogind-configuration: Add more sleep configurations Morgan Smith
@ 2024-08-15 15:15 ` Nicolas Graves via Guix-patches via
  2024-08-21 16:59 ` bug#72504: [PATCH] services: elogind-configuration: Add more sleep configurations Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-08-15 15:15 UTC (permalink / raw)
  To: control, 72504

user guix
usertag 72504 + reviewed-looks-good
thanks

Guix QA review form submission:
LGTM. No service test associed yet to elogind so cannot be tested
against a mock configuration.

Items marked as checked: Lint warnings, Package builds, Commit messages

-- 
Best regards,
Nicolas Graves




^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#72504: [PATCH] services: elogind-configuration: Add more sleep configurations
  2024-08-07  1:51 [bug#72504] [PATCH] services: elogind-configuration: Add more sleep configurations Morgan Smith
  2024-08-15 15:15 ` [bug#72504] QA review for 72504 Nicolas Graves via Guix-patches via
@ 2024-08-21 16:59 ` Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2024-08-21 16:59 UTC (permalink / raw)
  To: Morgan Smith; +Cc: Maxim Cournoyer, 72504-done, Matthew Trzcinski, Florian Pelz

Morgan Smith <Morgan.J.Smith@outlook.com> skribis:

> * 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

Applied, thanks!  (And thank you, Nicolas!)

> This patch exists so I can use and configure the suspend-then-hibernate action
> of elogind.  This will save me the frustration of having my laptop battery die
> in my backpack.

Makes sense.  :-)

Ludo’.




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-08-21 17:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-07  1:51 [bug#72504] [PATCH] services: elogind-configuration: Add more sleep configurations Morgan Smith
2024-08-15 15:15 ` [bug#72504] QA review for 72504 Nicolas Graves via Guix-patches via
2024-08-21 16:59 ` bug#72504: [PATCH] services: elogind-configuration: Add more sleep configurations Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).