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 a7ed94764ae00edced4ca65047ca006b655569a0 /git/dwmstatus-sdk/commit/a7ed94764ae00edced4ca65047ca006b655569a0.gph codevoid.de 70 1parent b588d102e43fd5a299eeef9a70ae935c67790f14 /git/dwmstatus-sdk/commit/b588d102e43fd5a299eeef9a70ae935c67790f14.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Sun, 28 Apr 2019 09:02:33 +0200 Err codevoid.de 70 i Err codevoid.de 70 iAdd FanRPM and cleanup Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M dwmstatus.c | 46 ++++++++++--------------------- Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 14 insertions(+), 32 deletions(-) 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@@ -7,25 +7,16 @@ Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i-#include Err codevoid.de 70 i #include Err codevoid.de 70 i-#include Err codevoid.de 70 i-#include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i-#include Err codevoid.de 70 i #include Err codevoid.de 70 i-#include Err codevoid.de 70 i-#include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i-#ifdef __linux__ 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@@ -72,10 +63,18 @@ char * getcputemp() { Err codevoid.de 70 i struct sensor sensor; Err codevoid.de 70 i size_t slen = sizeof(sensor); Err codevoid.de 70 i int mib[5] = { CTL_HW, HW_SENSORS, 0, SENSOR_TEMP, 0 }; // Lenovo x230 Err codevoid.de 70 i- if (sysctl(mib, 5, &sensor, &slen, NULL, 0) == -1) { Err codevoid.de 70 i- return smprintf("err"); Err codevoid.de 70 i- } Err codevoid.de 70 i- return smprintf("%.0f", (sensor.value - 273150000) / 1000000.0); Err codevoid.de 70 i+ if (sysctl(mib, 5, &sensor, &slen, NULL, 0) != -1) Err codevoid.de 70 i+ return smprintf("%.0f", (sensor.value - 273150000) / 1000000.0); Err codevoid.de 70 i+ return smprintf("err"); Err codevoid.de 70 i+} Err codevoid.de 70 i+ Err codevoid.de 70 i+char * getfan() { Err codevoid.de 70 i+ struct sensor sensor; Err codevoid.de 70 i+ size_t slen = sizeof(sensor); Err codevoid.de 70 i+ int mib[5] = { CTL_HW, HW_SENSORS, 5, SENSOR_FANRPM, 0 }; // Lenovo x230 Err codevoid.de 70 i+ if (sysctl(mib, 5, &sensor, &slen, NULL, 0) != -1) Err codevoid.de 70 i+ return smprintf("%i", sensor.value); Err codevoid.de 70 i+ return smprintf("err"); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i char * getvolume() { Err codevoid.de 70 it@@ -175,14 +174,6 @@ char * readfile(char *base, char *file) { Err codevoid.de 70 i return smprintf("%s", line); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-char * gettemperature(char *base, char *sensor) { Err codevoid.de 70 i- char *co; Err codevoid.de 70 i- co = readfile(base, sensor); Err codevoid.de 70 i- if (co == NULL) Err codevoid.de 70 i- return smprintf(""); Err codevoid.de 70 i- return smprintf("%02.0f°C", atof(co) / 1000); Err codevoid.de 70 i-} Err codevoid.de 70 i- Err codevoid.de 70 i char * getbattery() Err codevoid.de 70 i { Err codevoid.de 70 i int fd; Err codevoid.de 70 it@@ -212,14 +203,6 @@ void update() { Err codevoid.de 70 i char *time_utc = mktimes("%H:%M", "UTC"); Err codevoid.de 70 i char *date_utc = mktimes("%d.%m.%Y", "UTC"); Err codevoid.de 70 i Err codevoid.de 70 i- // cpu frequency Err codevoid.de 70 i- // cpufreq = smprintf("%i", getsysctl("dev.cpu.0.freq")); Err codevoid.de 70 i- Err codevoid.de 70 i- // battery Err codevoid.de 70 i- // battery = smprintf("%i", ge tsysctl("hw.acpi.battery.life")); Err codevoid.de 70 i- // audio volume Err codevoid.de 70 i- char *volume = getvolume(); Err codevoid.de 70 i- Err codevoid.de 70 i // free disk space (root/home) Err codevoid.de 70 i char *freehomespace = getfreespace("/home"); Err codevoid.de 70 i char *freerootspace = getfreespace("/"); Err codevoid.de 70 it@@ -232,9 +215,9 @@ void update() { Err codevoid.de 70 i warn = " !!! LOW DISK SPACE WARNING @ ROOT !!! |"; Err codevoid.de 70 i Err codevoid.de 70 i // display status Err codevoid.de 70 i- setstatus(smprintf("Bat: %s%% | Vol: %s%% | Temp: %s°C | Load: %s | %s | %s;" Err codevoid.de 70 i+ setstatus(smprintf("Bat: %s%% | Vol: %s%% | Temp: %s°C (%sRPM) | Load: %s | %s | %s;" Err codevoid.de 70 i "Network: %s | Address: %s |%s /home: %sMB | /: %sMB", Err codevoid.de 70 i- getbattery(), volume, getcputemp(), loadavg(), date, time, Err codevoid.de 70 i+ getbattery(), getvolume(), getcputemp(), getfan(), loadavg(), date, time, Err codevoid.de 70 i "PowerMate 2.4GHz", "192.168.2.235", warn, freehomespace, freerootspace)); Err codevoid.de 70 i Err codevoid.de 70 i // free everything up Err codevoid.de 70 it@@ -242,7 +225,6 @@ void update() { Err codevoid.de 70 i free(time_utc); Err codevoid.de 70 i free(date); Err codevoid.de 70 i free(date_utc); Err codevoid.de 70 i- free(volume); Err codevoid.de 70 i free(freehomespace); Err codevoid.de 70 i free(freerootspace); Err codevoid.de 70 i } Err codevoid.de 70 .