summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.h4
-rw-r--r--slstatus.c7
2 files changed, 10 insertions, 1 deletions
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++) {