fix(Custom): hide label when exec-if failed

This commit is contained in:
Alexis 2018-08-26 21:41:34 +02:00
parent 0ad2bc7516
commit c8ca8b3725
No known key found for this signature in database
GPG Key ID: 20B1EC2EBBA96BD9

View File

@ -7,6 +7,7 @@ waybar::modules::Custom::Custom(const std::string name,
if (!config_["exec"]) { if (!config_["exec"]) {
throw std::runtime_error(name_ + " has no exec path."); throw std::runtime_error(name_ + " has no exec path.");
} }
label_.set_name("custom-" + name_);
worker(); worker();
} }
@ -19,6 +20,7 @@ void waybar::modules::Custom::worker()
auto res = waybar::util::command::exec(config_["exec-if"].asString()); auto res = waybar::util::command::exec(config_["exec-if"].asString());
if (res.exit_code != 0) { if (res.exit_code != 0) {
can_update = false; can_update = false;
label_.hide();
} }
} }
if (can_update) { if (can_update) {
@ -35,9 +37,7 @@ auto waybar::modules::Custom::update() -> void
// Hide label if output is empty // Hide label if output is empty
if (res.out.empty() || res.exit_code != 0) { if (res.out.empty() || res.exit_code != 0) {
label_.hide(); label_.hide();
label_.set_name("");
} else { } else {
label_.set_name("custom-" + name_);
auto format = config_["format"] ? config_["format"].asString() : "{}"; auto format = config_["format"] ? config_["format"].asString() : "{}";
auto str = fmt::format(format, res.out); auto str = fmt::format(format, res.out);
label_.set_text(str); label_.set_text(str);