summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.def.h2
-rw-r--r--slstatus.c23
-rw-r--r--slstatus.h1
3 files changed, 26 insertions, 0 deletions
diff --git a/config.def.h b/config.def.h
index 38af2b9..813bded 100644
--- a/config.def.h
+++ b/config.def.h
@@ -16,6 +16,7 @@ static unsigned int update_interval = 1;
- cpu_perc (cpu usage in percent) [argument: NULL]
- datetime (date and time) [argument: format]
- disk_perc (disk usage in percent) [argument: mountpoint]
+- entropy (available entropy) [argument: NULL]
- ram_perc (ram usage in percent) [argument: NULL]
- temp (temperature in degrees) [argument: temperature file]
- vol_perc (alsa volume and mute status in percent) [argument: soundcard]
@@ -29,5 +30,6 @@ static const struct arg args[] = {
{ ram_perc, "ram %3s | ", NULL },
{ vol_perc, "vol %4s | ", "default" },
{ disk_perc, "ssd %3s | ", "/" },
+ { entropy, "crypt %s | ", NULL },
{ datetime, "%s", "%y-%m-%d %H:%M:%S" },
};
diff --git a/slstatus.c b/slstatus.c
index ee6b160..3574468 100644
--- a/slstatus.c
+++ b/slstatus.c
@@ -181,6 +181,29 @@ disk_perc(const char *mountpoint)
return smprintf("%d%%", perc);
}
+/* entropy available */
+char *
+entropy(const char *null)
+{
+ int entropy = 0;
+ FILE *fp;
+
+ /* open entropy file */
+ if (!(fp = fopen("/proc/sys/kernel/random/entropy_avail", "r"))) {
+ fprintf(stderr, "Could not open entropy file.\n");
+ return smprintf("n/a");
+ }
+
+ /* extract entropy */
+ fscanf(fp, "%d", &entropy);
+
+ /* close entropy file */
+ fclose(fp);
+
+ /* return entropy */
+ return smprintf("%d", entropy);
+}
+
/* ram percentage */
char *
ram_perc(const char *null)
diff --git a/slstatus.h b/slstatus.h
index fb358dc..12c03c7 100644
--- a/slstatus.h
+++ b/slstatus.h
@@ -18,6 +18,7 @@ char *battery_perc(const char *);
char *cpu_perc(const char *);
char *datetime(const char *);
char *disk_perc(const char *);
+char *entropy(const char*);
char *ram_perc(const char *);
char *temp(const char *);
char *vol_perc(const char *);