mirror of
https://github.com/aristocratos/btop.git
synced 2024-05-18 11:22:46 +12:00
Introduce charge in addition to energy for laptops that use charge instead of energy, this is done so that the units make more sense in this case
This commit is contained in:
parent
4c74a7c51d
commit
b99008f626
|
@ -661,9 +661,9 @@ namespace Cpu {
|
|||
}
|
||||
|
||||
struct battery {
|
||||
fs::path base_dir, energy_now, energy_full, power_now, current_now, voltage_now, status, online;
|
||||
fs::path base_dir, energy_now, charge_now, energy_full, charge_full, power_now, current_now, voltage_now, status, online;
|
||||
string device_type;
|
||||
bool use_energy = true;
|
||||
bool use_energy_or_charge = true;
|
||||
bool use_power = true;
|
||||
};
|
||||
|
||||
|
@ -700,14 +700,14 @@ namespace Cpu {
|
|||
}
|
||||
|
||||
if (fs::exists(bat_dir / "energy_now")) new_bat.energy_now = bat_dir / "energy_now";
|
||||
else if (fs::exists(bat_dir / "charge_now")) new_bat.energy_now = bat_dir / "charge_now";
|
||||
else new_bat.use_energy = false;
|
||||
else if (fs::exists(bat_dir / "charge_now")) new_bat.charge_now = bat_dir / "charge_now";
|
||||
else new_bat.use_energy_or_charge = false;
|
||||
|
||||
if (fs::exists(bat_dir / "energy_full")) new_bat.energy_full = bat_dir / "energy_full";
|
||||
else if (fs::exists(bat_dir / "charge_full")) new_bat.energy_full = bat_dir / "charge_full";
|
||||
else new_bat.use_energy = false;
|
||||
else if (fs::exists(bat_dir / "charge_full")) new_bat.charge_full = bat_dir / "charge_full";
|
||||
else new_bat.use_energy_or_charge = false;
|
||||
|
||||
if (not new_bat.use_energy and not fs::exists(bat_dir / "capacity")) {
|
||||
if (not new_bat.use_energy_or_charge and not fs::exists(bat_dir / "capacity")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -757,7 +757,7 @@ namespace Cpu {
|
|||
long seconds = -1;
|
||||
|
||||
//? Try to get battery percentage
|
||||
if (b.use_energy) {
|
||||
if (b.use_energy_or_charge) {
|
||||
try {
|
||||
percent = round(100.0 * stoll(readfile(b.energy_now, "-1")) / stoll(readfile(b.energy_full, "1")));
|
||||
}
|
||||
|
@ -787,7 +787,7 @@ namespace Cpu {
|
|||
|
||||
//? Get seconds to empty
|
||||
if (not is_in(status, "charging", "full")) {
|
||||
if (b.use_energy and not b.power_now.empty()) {
|
||||
if (b.use_energy_or_charge and not b.power_now.empty()) {
|
||||
try {
|
||||
seconds = round((double)stoll(readfile(b.energy_now, "0")) / stoll(readfile(b.power_now, "1")) * 3600);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue