Introduction
Introduction Statistics Contact Development Disclaimer Help
Add xkbmap handler. - dwmstatus - A simple dwm status application in C.
git clone git://git.suckless.org/dwmstatus
Log
Files
Refs
LICENSE
---
commit 19953a7de2c6fc8cf6c3e88f8cd51e7e8e54d190
parent 51bc02f6ea93e54c976aa76f5a43dd032e637f51
Author: Christoph Lohmann <[email protected]>
Date: Thu, 18 Aug 2022 13:48:00 +0200
Add xkbmap handler.
Diffstat:
M dwmstatus.c | 40 +++++++++++++++++++++++------…
1 file changed, 30 insertions(+), 10 deletions(-)
---
diff --git a/dwmstatus.c b/dwmstatus.c
@@ -175,17 +175,39 @@ gettemperature(char *base, char *sensor)
return smprintf("%02.0f°C", atof(co) / 1000);
}
+char *
+execscript(char *cmd)
+{
+ FILE *fp;
+ char retval[1025], rv;
+
+ memset(retval, 0, sizeof(retval));
+
+ fp = popen(cmd, "r");
+ if (fp == NULL)
+ return smprintf("");
+
+ rv = fgets(retval, sizeof(retval)-1, fp);
+ pclose(fp);
+ if (rv == NULL)
+ return smprintf("");
+ retval[strlen(retval)-1] = '\0';
+
+ return smprintf("%s", retval);
+}
+
int
main(void)
{
char *status;
char *avgs;
char *bat;
- char *bat1;
char *tmar;
char *tmutc;
char *tmbln;
- char *t0, *t1, *t2;
+ char *t0;
+ char *t1;
+ char *kbmap;
if (!(dpy = XOpenDisplay(NULL))) {
fprintf(stderr, "dwmstatus: cannot open display.\n");
@@ -195,25 +217,23 @@ main(void)
for (;;sleep(60)) {
avgs = loadavg();
bat = getbattery("/sys/class/power_supply/BAT0");
- bat1 = getbattery("/sys/class/power_supply/BAT1");
tmar = mktimes("%H:%M", tzargentina);
tmutc = mktimes("%H:%M", tzutc);
tmbln = mktimes("KW %W %a %d %b %H:%M %Z %Y", tzberlin);
- t0 = gettemperature("/sys/devices/virtual/hwmon/hwmon0", "temp…
- t1 = gettemperature("/sys/devices/virtual/hwmon/hwmon2", "temp…
- t2 = gettemperature("/sys/devices/virtual/hwmon/hwmon4", "temp…
+ kbmap = execscript("setxkbmap -query | grep layout | cut -d':'…
+ t0 = gettemperature("/sys/devices/virtual/thermal/thermal_zone…
+ t1 = gettemperature("/sys/devices/virtual/thermal/thermal_zone…
- status = smprintf("T:%s|%s|%s L:%s B:%s|%s A:%s U:%s %s",
- t0, t1, t2, avgs, bat, bat1, tmar, tmutc,
+ status = smprintf("K:%s T:%s|%s L:%s B:%s A:%s U:%s %s",
+ kbmap, t0, t1, avgs, bat, tmar, tmutc,
tmbln);
setstatus(status);
+ free(kbmap);
free(t0);
free(t1);
- free(t2);
free(avgs);
free(bat);
- free(bat1);
free(tmar);
free(tmutc);
free(tmbln);
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.