| tauxstats: replace /proc ACPI calls with /sys ones (#245) - plan9port - [fork] … | |
| git clone git://src.adamsgaard.dk/plan9port | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 7d827b5cca185b411be3ac9b71834958f4737bdf | |
| parent e995a0c101863688d5f14649ae3de45a7c43789c | |
| Author: Zach Scott <[email protected]> | |
| Date: Thu, 19 Sep 2019 17:08:36 +0000 | |
| auxstats: replace /proc ACPI calls with /sys ones (#245) | |
| According to <https://askubuntu.com/a/309146>, use of `/proc/acpi` to | |
| get battery usage is deprecated. This commit replaces the two files from | |
| tthis API with the single file `/sys/class/power_supply/BAT0/capacity`, | |
| simultaneously removing the need to calculate battery percentage. | |
| Diffstat: | |
| M src/cmd/auxstats/Linux.c | 30 ++++++++---------------------- | |
| 1 file changed, 8 insertions(+), 22 deletions(-) | |
| --- | |
| diff --git a/src/cmd/auxstats/Linux.c b/src/cmd/auxstats/Linux.c | |
| t@@ -26,36 +26,22 @@ void (*statfn[])(int) = | |
| void | |
| xapm(int first) | |
| { | |
| - static int fd = -1, fdb = -1; | |
| - int i, last = -1, curr = -1; | |
| + static int fd = -1; | |
| + int curr = -1; | |
| if(first){ | |
| - fd = open("/proc/acpi/battery/BAT0/info", OREAD); | |
| - fdb = open("/proc/acpi/battery/BAT0/state", OREAD); | |
| + fd = open("/sys/class/power_supply/BAT0/capacity", OREAD); | |
| return; | |
| } | |
| - if(fd == -1 || fdb == -1) | |
| + if(fd == -1) | |
| return; | |
| readfile(fd); | |
| - for(i=0; i<nline; i++){ | |
| - tokens(i); | |
| - if(ntok < 3) | |
| - continue; | |
| - if(strcmp(tok[0], "last") == 0 && strcmp(tok[1], "full") == 0) | |
| - last = atoi(tok[3]); | |
| - } | |
| - readfile(fdb); | |
| - for(i = 0; i < nline; i++) { | |
| - tokens(i); | |
| - if(ntok < 3) | |
| - continue; | |
| - if(strcmp(tok[0], "remaining") == 0 && strcmp(tok[1], "capacit… | |
| - curr = atoi(tok[2]); | |
| - } | |
| + tokens(0); | |
| + curr = atoi(tok[0]); | |
| - if(curr != -1 && last != -1) | |
| - Bprint(&bout, "battery =%d 100\n", (int)(((float)curr/(float)l… | |
| + if(curr != -1) | |
| + Bprint(&bout, "battery =%d 100\n", curr); | |
| } | |