Add class for full battery and give option to interpret unknown as full

This commit is contained in:
Lucas L. Treffenstädt 2018-11-02 19:41:00 +01:00
parent 00e7e87f55
commit 9c57df505c

View File

@ -74,6 +74,8 @@ std::tuple<uint16_t, std::string> waybar::modules::Battery::getInfos()
std::ifstream(bat / "status") >> _status; std::ifstream(bat / "status") >> _status;
if (_status != "Unknown") { if (_status != "Unknown") {
status = _status; status = _status;
}else if (config_["full-is-unknown"].isString() && config_["full-is-unknown"] == "true") {
status = "Full"; //Some notebooks (e.g. Thinkpad T430s) report a full battery as "Unknown".
} }
total += capacity; total += capacity;
} }
@ -125,8 +127,13 @@ auto waybar::modules::Battery::update() -> void
} }
} else { } else {
label_.get_style_context()->remove_class("charging"); label_.get_style_context()->remove_class("charging");
if (status == "Full" && config_["format-full"].isString()) { if (status == "Full"){
format = config_["format-full"].asString(); label_.get_style_context()->add_class("full");
if (config_["format-full"].isString()) {
format = config_["format-full"].asString();
}
}else{
label_.get_style_context()->remove_class("full");
} }
} }
auto state = getState(capacity, charging); auto state = getState(capacity, charging);