Merge pull request #105 from David96/master

Allow custom plugins that don't execute anything
This commit is contained in:
Alex 2018-11-24 18:01:31 +01:00 committed by GitHub
commit 65b9911df4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 8 deletions

View File

@ -4,13 +4,14 @@ waybar::modules::Custom::Custom(const std::string name,
const Json::Value& config)
: ALabel(config, "{}"), name_(name)
{
if (!config_["exec"].isString()) {
throw std::runtime_error(name_ + " has no exec path.");
}
if (interval_.count() > 0) {
delayWorker();
if (config_["exec"].isString()) {
if (interval_.count() > 0) {
delayWorker();
} else {
continuousWorker();
}
} else {
continuousWorker();
update();
}
}
@ -66,7 +67,7 @@ void waybar::modules::Custom::continuousWorker()
auto waybar::modules::Custom::update() -> void
{
// 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_.set_name("");
} else {
@ -132,4 +133,4 @@ void waybar::modules::Custom::parseOutputJson()
class_ = parsed["class"].asString();
break;
}
}
}