Make battery option optional
This commit is contained in:
2
Makefile
2
Makefile
@@ -1,5 +1,5 @@
|
|||||||
all:
|
all:
|
||||||
gcc -o dwmst -lX11 dwmst.c
|
gcc -o dwmst -lX11 -D OPTION_BATTERY=0 dwmst.c
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f dwmst
|
rm -f dwmst
|
||||||
|
|||||||
55
dwmst.c
55
dwmst.c
@@ -31,36 +31,41 @@ int main(void) {
|
|||||||
|
|
||||||
strftime(tbuffer, sizeof(tbuffer), "%a %b %d %H:%M", timeinfo);
|
strftime(tbuffer, sizeof(tbuffer), "%a %b %d %H:%M", timeinfo);
|
||||||
|
|
||||||
/* battery status */
|
if (OPTION_BATTERY) {
|
||||||
f = fopen("/sys/class/power_supply/BAT0/capacity", "r");
|
/* battery status */
|
||||||
if (f == NULL) {
|
f = fopen("/sys/class/power_supply/BAT0/capacity", "r");
|
||||||
fprintf(stderr, "dwmst: cannot access battery.\n");
|
if (f == NULL) {
|
||||||
} else {
|
fprintf(stderr, "dwmst: cannot access battery.\n");
|
||||||
fgets(bbuffer, 4, f);
|
} else {
|
||||||
strtok(bbuffer, "\n"); /* remove trailing white space */
|
fgets(bbuffer, 4, f);
|
||||||
strcat(bbuffer, "%");
|
strtok(bbuffer, "\n"); /* remove trailing white space */
|
||||||
}
|
strcat(bbuffer, "%");
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
}
|
||||||
|
|
||||||
f = fopen("/sys/class/power_supply/BAT0/status", "r");
|
f = fopen("/sys/class/power_supply/BAT0/status", "r");
|
||||||
if (f == NULL) {
|
if (f == NULL) {
|
||||||
fprintf(stderr, "dwmst: cannot access battery.\n");
|
fprintf(stderr, "dwmst: cannot access battery.\n");
|
||||||
} else {
|
} else {
|
||||||
switch(getc(f)) {
|
switch(getc(f)) {
|
||||||
case 'D': /* Discharging */
|
case 'D': /* Discharging */
|
||||||
strcat(bbuffer, "-");
|
strcat(bbuffer, "-");
|
||||||
break;
|
break;
|
||||||
case 'C': /* Charging */
|
case 'C': /* Charging */
|
||||||
strcat(bbuffer, "+");
|
strcat(bbuffer, "+");
|
||||||
break;
|
break;
|
||||||
case 'F': /* Full */
|
case 'F': /* Full */
|
||||||
strcat(bbuffer, "=");
|
strcat(bbuffer, "=");
|
||||||
|
}
|
||||||
|
fclose(f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose(f);
|
|
||||||
|
|
||||||
/* build status */
|
/* build status */
|
||||||
sprintf(status, "%s | %s", tbuffer, bbuffer);
|
if (OPTION_BATTERY)
|
||||||
|
sprintf(status, "%s | %s", tbuffer, bbuffer);
|
||||||
|
else
|
||||||
|
sprintf(status, "%s", tbuffer);
|
||||||
|
|
||||||
/* store root window name */
|
/* store root window name */
|
||||||
XStoreName(display, DefaultRootWindow(display), status);
|
XStoreName(display, DefaultRootWindow(display), status);
|
||||||
|
|||||||
Reference in New Issue
Block a user