From a2044c06d99f43e28d81fb7664ca9d8a89d3915f Mon Sep 17 00:00:00 2001 From: "Ivan K. Boikov" Date: Tue, 24 Dec 2024 17:39:49 +0100 Subject: Experimental power saving --- config.h | 4 +++- slstatus.c | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/config.h b/config.h index 2d4e6a4..b8a5264 100644 --- a/config.h +++ b/config.h @@ -1,7 +1,9 @@ /* See LICENSE file for copyright and license details. */ /* interval between updates (in ms) */ -const unsigned int interval = 1000; +const unsigned int interval_perf = 1000; // performance +const unsigned int interval_psav = 5000; // power save +unsigned int interval; /* text to show if no value can be retrieved */ static const char unknown_str[] = "n/a"; diff --git a/slstatus.c b/slstatus.c index 88204de..d5ac2f8 100644 --- a/slstatus.c +++ b/slstatus.c @@ -90,6 +90,13 @@ main(int argc, char *argv[]) if (clock_gettime(CLOCK_MONOTONIC, &start) < 0) die("clock_gettime:"); + if (pscanf("/sys/class/power_supply/AC/online", "%ud", &interval) == 1) + interval = interval ? interval_perf : interval_psav; + else { + interval = interval_perf; + } + printf("Interval: %ud\n", interval); + status[0] = '\0'; for (i = len = 0; i < LEN(args); i++) { -- cgit v1.2.3