it* dwmstatus for OpenBSD Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/dwmstatus-sdk URL:git://git.codevoid.de/dwmstatus-sdk codevoid.de 70 1Log /git/dwmstatus-sdk/log.gph codevoid.de 70 1Files /git/dwmstatus-sdk/files.gph codevoid.de 70 1Refs /git/dwmstatus-sdk/refs.gph codevoid.de 70 1LICENSE /git/dwmstatus-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 0c1dd4b7655776b467d96a77f13ff844302379ef /git/dwmstatus-sdk/commit/0c1dd4b7655776b467d96a77f13ff844302379ef.gph codevoid.de 70 1parent ed8774c79ae4551cc1c33deb2c4a053756a0ecb8 /git/dwmstatus-sdk/commit/ed8774c79ae4551cc1c33deb2c4a053756a0ecb8.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Mon, 4 Jun 2018 09:32:36 +0200 Err codevoid.de 70 i Err codevoid.de 70 iifdef __FreeBSD__ and Linux Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M Makefile | 1 + Err codevoid.de 70 i M dwmstatus.c | 39 +++++++++++++++++++++++++++---- Err codevoid.de 70 i Err codevoid.de 70 i2 files changed, 35 insertions(+), 5 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/Makefile b/Makefile /git/dwmstatus-sdk/file/Makefile.gph codevoid.de 70 it@@ -4,6 +4,7 @@ include config.mk Err codevoid.de 70 i Err codevoid.de 70 i SRC = ${NAME}.c Err codevoid.de 70 i OBJ = ${SRC:.c=.o} Err codevoid.de 70 i+CC = clang Err codevoid.de 70 i Err codevoid.de 70 i all: options ${NAME} Err codevoid.de 70 i Err codevoid.de 70 1diff --git a/dwmstatus.c b/dwmstatus.c /git/dwmstatus-sdk/file/dwmstatus.c.gph codevoid.de 70 it@@ -24,8 +24,12 @@ Err codevoid.de 70 i #include Err codevoid.de 70 i Err codevoid.de 70 i // getfreespace Err codevoid.de 70 i-#include Err codevoid.de 70 i-#include Err codevoid.de 70 i+#ifdef __FreeBSD__ Err codevoid.de 70 i+#include // freebsd Err codevoid.de 70 i+#include // freebsd Err codevoid.de 70 i+#else Err codevoid.de 70 i+#include Err codevoid.de 70 i+#endif Err codevoid.de 70 i Err codevoid.de 70 i // configuration Err codevoid.de 70 i #define UPDATE_INTERVAL 10 Err codevoid.de 70 it@@ -78,6 +82,7 @@ getfreespace(const char *path) { Err codevoid.de 70 i */ Err codevoid.de 70 i char * Err codevoid.de 70 i getsysctl(char *input_str) { Err codevoid.de 70 i+#ifdef __FreeBSD__ Err codevoid.de 70 i char *ret_val; Err codevoid.de 70 i size_t ret_size; Err codevoid.de 70 i Err codevoid.de 70 it@@ -95,6 +100,9 @@ getsysctl(char *input_str) { Err codevoid.de 70 i Err codevoid.de 70 i // caller must know how to interpret this (s or i) Err codevoid.de 70 i return ret_val; Err codevoid.de 70 i+#else Err codevoid.de 70 i+ return smprintf("N/A"); Err codevoid.de 70 i+#endif Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i /* Use FreeBSDs mixer device to determine the master Err codevoid.de 70 it@@ -102,6 +110,7 @@ getsysctl(char *input_str) { Err codevoid.de 70 i */ Err codevoid.de 70 i char * Err codevoid.de 70 i getvolume(char *mixerpath) { Err codevoid.de 70 i+#ifdef __FreeBSD__ Err codevoid.de 70 i char defaultmixer[] = "/dev/mixer"; Err codevoid.de 70 i int mixfd, vol, devmask = 0; Err codevoid.de 70 i Err codevoid.de 70 it@@ -120,6 +129,10 @@ getvolume(char *mixerpath) { Err codevoid.de 70 i } Err codevoid.de 70 i close(mixfd); Err codevoid.de 70 i return smprintf("%i", vol & 0x7f); Err codevoid.de 70 i+#else Err codevoid.de 70 i+ return smprintf("N/A"); Err codevoid.de 70 i+#endif Err codevoid.de 70 i+ Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i void Err codevoid.de 70 it@@ -255,13 +268,14 @@ gettemperature(char *base, char *sensor) Err codevoid.de 70 i // update all values and print statusbar Err codevoid.de 70 i void update() { Err codevoid.de 70 i char *status; Err codevoid.de 70 i+ Err codevoid.de 70 i+#ifdef __FreeBSD__ Err codevoid.de 70 i char *datetime; Err codevoid.de 70 i char *cputemp; Err codevoid.de 70 i char *cpufreq; Err codevoid.de 70 i char *battery; Err codevoid.de 70 i char *volume; Err codevoid.de 70 i char *freespace; Err codevoid.de 70 i- Err codevoid.de 70 i // cpu temperature Err codevoid.de 70 i cputemp = smprintf("%i", ZEROCTOC((int)getsysctl("hw.acpi.thermal.tz0.temperature"))); Err codevoid.de 70 i Err codevoid.de 70 it@@ -289,14 +303,29 @@ void update() { Err codevoid.de 70 i } else { Err codevoid.de 70 i status = smprintf("!!! LOW DISK SPACE WARNING !!! /:%sMB LOAD:%s TEMP:%s°C FREQ:%sMhz BAT:%s%% VOL:%s | %s ", freespace, loadavg(), cputemp, cpufreq, battery, volume, datetime); Err codevoid.de 70 i } Err codevoid.de 70 i- setstatus(status); Err codevoid.de 70 i- Err codevoid.de 70 i free(freespace); Err codevoid.de 70 i free(volume); Err codevoid.de 70 i free(battery); Err codevoid.de 70 i free(cputemp); Err codevoid.de 70 i free(cpufreq); Err codevoid.de 70 i free(datetime); Err codevoid.de 70 i+#else Err codevoid.de 70 i+ char *datetime; Err codevoid.de 70 i+ char *freespace; Err codevoid.de 70 i+ // date and time Err codevoid.de 70 i+ datetime = mktimes("%d.%m.%Y %H:%M", tzberlin); Err codevoid.de 70 i+ // free disk space (root/home) Err codevoid.de 70 i+ freespace = getfreespace("/"); Err codevoid.de 70 i+ if(atoi(freespace) > LOW_DISKSPACE) { Err codevoid.de 70 i+ status = smprintf("/:%sMB LOAD:%s | %s ", freespace, loadavg(), datetime); Err codevoid.de 70 i+ } else { Err codevoid.de 70 i+ status = smprintf("!!! LOW DISK SPACE WARNING !!! /:%sMB LOAD:%s | %s ", freespace, loadavg(), datetime); Err codevoid.de 70 i+ } Err codevoid.de 70 i+ free(datetime); Err codevoid.de 70 i+ free(freespace); Err codevoid.de 70 i+#endif Err codevoid.de 70 i+ Err codevoid.de 70 i+ setstatus(status); Err codevoid.de 70 i free(status); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 .