mirror of
https://github.com/aristocratos/btop.git
synced 2024-05-16 10:22:46 +12:00
ugly hack to get battery
This commit is contained in:
parent
600b4f72b3
commit
c75b0f1cea
|
@ -324,8 +324,29 @@ namespace Cpu {
|
|||
}
|
||||
|
||||
auto get_battery() -> tuple<int, long, string> {
|
||||
// if (not has_battery)
|
||||
return {0, 0, ""};
|
||||
if (not has_battery) return {0, 0, ""};
|
||||
|
||||
int percent = -1;
|
||||
long seconds = -1;
|
||||
string status = "discharging";
|
||||
|
||||
FILE *bat = popen("pmset -g batt", "r");
|
||||
if (bat) {
|
||||
char buf[2048];
|
||||
if (fgets(buf, sizeof(buf), bat) != NULL) {
|
||||
char *perc = strstr(buf, "%");
|
||||
if (perc) {
|
||||
has_battery = true;
|
||||
perc -= 3;
|
||||
string p(perc);
|
||||
p.resize(3);
|
||||
percent = atoi(p.c_str());
|
||||
} else {
|
||||
has_battery = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return {percent, seconds, status};
|
||||
}
|
||||
|
||||
auto collect(const bool no_update) -> cpu_info & {
|
||||
|
@ -388,7 +409,7 @@ namespace Cpu {
|
|||
if (cpu.core_percent.at(i).size() > 40) cpu.core_percent.at(i).pop_front();
|
||||
|
||||
//? Populate cpu.cpu_percent with all fields from syscall
|
||||
for (int ii = 0; const auto& val : times) {
|
||||
for (int ii = 0; const auto &val : times) {
|
||||
cpu.cpu_percent.at(time_names.at(ii)).push_back(clamp((long long)round((double)(val - cpu_old.at(time_names.at(ii))) * 100 / calc_totals), 0ll, 100ll));
|
||||
cpu_old.at(time_names.at(ii)) = val;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue