mirror of
https://github.com/rad4day/Waybar.git
synced 2023-12-21 10:22:59 +01:00
feat(custon): restart_interval for continuous script
This commit is contained in:
@ -55,12 +55,21 @@ void waybar::modules::Custom::continuousWorker() {
|
||||
exit_code = WEXITSTATUS(util::command::close(fp_, pid_));
|
||||
fp_ = nullptr;
|
||||
}
|
||||
thread_.stop();
|
||||
if (exit_code != 0) {
|
||||
output_ = {exit_code, ""};
|
||||
dp.emit();
|
||||
spdlog::error("{} stopped unexpectedly, is it endless?", name_);
|
||||
}
|
||||
if (config_["restart_interval"].isUInt()) {
|
||||
pid_ = -1;
|
||||
fp_ = util::command::open(cmd, pid_);
|
||||
if (!fp_) {
|
||||
throw std::runtime_error("Unable to open " + cmd);
|
||||
}
|
||||
thread_.sleep_for(std::chrono::seconds(config_["restart_interval"].asUInt());
|
||||
} else {
|
||||
thread_.stop();
|
||||
}
|
||||
return;
|
||||
}
|
||||
std::string output = buff;
|
||||
|
Reference in New Issue
Block a user