From 8aee7492d494ce6ff6082791d64fa147751fdbf2 Mon Sep 17 00:00:00 2001 From: Viktar Lukashonak Date: Mon, 14 Mar 2022 17:12:05 +0300 Subject: [PATCH] Plug/Unplug batteries on hot(useful for gamepads) --- src/modules/battery.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/battery.cpp b/src/modules/battery.cpp index c0075a4..7ea9b55 100644 --- a/src/modules/battery.cpp +++ b/src/modules/battery.cpp @@ -118,9 +118,10 @@ void waybar::modules::Battery::refreshBatteries() { } if (batteries_.empty()) { if (config_["bat"].isString()) { - throw std::runtime_error("No battery named " + config_["bat"].asString()); + spdlog::warn("No battery named {}", config_["bat"].asString()); + } else { + spdlog::warn("No batteries."); } - throw std::runtime_error("No batteries."); } // Remove any batteries that are no longer present and unwatch them @@ -283,6 +284,10 @@ const std::string waybar::modules::Battery::formatTimeRemaining(float hoursRemai } auto waybar::modules::Battery::update() -> void { + if (batteries_.empty()) { + event_box_.hide(); + return; + } auto [capacity, time_remaining, status, power] = getInfos(); if (status == "Unknown") { status = getAdapterStatus(capacity);