Allow custom plugins that don't execute anything

pull/105/head
David96 2018-11-24 17:21:46 +01:00
parent 08bfdda4cb
commit 2aed121903
1 changed files with 9 additions and 8 deletions

View File

@ -4,14 +4,15 @@ waybar::modules::Custom::Custom(const std::string name,
const Json::Value& config) const Json::Value& config)
: ALabel(config, "{}"), name_(name) : ALabel(config, "{}"), name_(name)
{ {
if (!config_["exec"].isString()) { if (config_["exec"].isString()) {
throw std::runtime_error(name_ + " has no exec path.");
}
if (interval_.count() > 0) { if (interval_.count() > 0) {
delayWorker(); delayWorker();
} else { } else {
continuousWorker(); continuousWorker();
} }
} else {
update();
}
} }
void waybar::modules::Custom::delayWorker() void waybar::modules::Custom::delayWorker()
@ -66,7 +67,7 @@ void waybar::modules::Custom::continuousWorker()
auto waybar::modules::Custom::update() -> void auto waybar::modules::Custom::update() -> void
{ {
// Hide label if output is empty // Hide label if output is empty
if (output_.out.empty() || output_.exit_code != 0) { if (config_["exec"].isString() && (output_.out.empty() || output_.exit_code != 0)) {
label_.hide(); label_.hide();
label_.set_name(""); label_.set_name("");
} else { } else {