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

View File

@ -4,13 +4,14 @@ 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) {
} delayWorker();
if (interval_.count() > 0) { } else {
delayWorker(); continuousWorker();
}
} else { } else {
continuousWorker(); update();
} }
} }
@ -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 {
@ -132,4 +133,4 @@ void waybar::modules::Custom::parseOutputJson()
class_ = parsed["class"].asString(); class_ = parsed["class"].asString();
break; break;
} }
} }