diff options
Diffstat (limited to '')
-rw-r--r-- | rxbar.c | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -23,7 +23,31 @@ int main() { fdc = open("/sys/class/power_supply/macsmc-battery/capacity", O_RDONLY); fds = open("/sys/class/power_supply/macsmc-battery/status", O_RDONLY); + if (fdc == -1 || fds == -1) { + fdc = open("/sys/class/power_supply/BAT0/capacity", O_RDONLY); + fds = open("/sys/class/power_supply/BAT0/status", O_RDONLY); + } + if (fdc == -1 || fds == -1) { + // no battery + for (;;) { + t = time(NULL); + td = *localtime(&t); + dprintf(STDOUT_FILENO, + "NOBAT %d-%02d-%02d %02d:%02d:%02d\n", + td.tm_year + 1900, + td.tm_mon + 1, + td.tm_mday, + td.tm_hour, + td.tm_min, + td.tm_sec + ); + t = (t + 1) * 1000000; + for (t1 = time(NULL) * 1000000; t1 < t; t1 = time(NULL) * 1000000) + usleep(t - t1); + } + } for (;;) { + // battery present t = time(NULL); td = *localtime(&t); len = pread(fdc, buf + 1, MAXLEN, 0); |