Issue#1556. Battery module: a lot of warnings when battery dissapears
This commit is contained in:
Alex 2022-05-23 13:39:23 +02:00 committed by GitHub
commit 1e4fe0bee8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -46,6 +46,7 @@ class Battery : public ALabel {
int global_watch_fd_;
std::mutex battery_list_mutex_;
std::string old_status_;
bool warnFirstTime_{true};
util::SleeperThread thread_;
util::SleeperThread thread_battery_update_;

View File

@ -20,7 +20,6 @@ waybar::modules::Battery::Battery(const std::string& id, const Json::Value& conf
throw std::runtime_error("Could not watch for battery plug/unplug");
}
refreshBatteries();
worker();
}
@ -73,7 +72,6 @@ void waybar::modules::Battery::worker() {
void waybar::modules::Battery::refreshBatteries() {
std::lock_guard<std::mutex> guard(battery_list_mutex_);
// Mark existing list of batteries as not necessarily found
std::map<fs::path, bool> check_map;
for (auto const& bat : batteries_) {
@ -117,12 +115,14 @@ void waybar::modules::Battery::refreshBatteries() {
} catch (fs::filesystem_error& e) {
throw std::runtime_error(e.what());
}
if (batteries_.empty()) {
if (warnFirstTime_ && batteries_.empty()) {
if (config_["bat"].isString()) {
spdlog::warn("No battery named {}", config_["bat"].asString());
spdlog::warn("No battery named {0}", config_["bat"].asString());
} else {
spdlog::warn("No batteries.");
}
warnFirstTime_ = false;
}
// Remove any batteries that are no longer present and unwatch them