diff options
| author | Daniel Jankowski <daniel.jankowski@rub.de> | 2024-05-08 15:38:11 +0200 |
|---|---|---|
| committer | Daniel Jankowski <daniel.jankowski@rub.de> | 2024-05-08 15:38:33 +0200 |
| commit | f6c8615edc39e0f3433341a677fb415d8248e79d (patch) | |
| tree | 7cf4adf0290c78b7134beff4a3996e860eddbd10 /src/widgets/command.rs | |
| parent | feat: make env & cwd configurable for command widget (diff) | |
| download | sl0pstatus-f6c8615edc39e0f3433341a677fb415d8248e79d.tar.gz sl0pstatus-f6c8615edc39e0f3433341a677fb415d8248e79d.tar.xz sl0pstatus-f6c8615edc39e0f3433341a677fb415d8248e79d.zip | |
feat: run command once on interval 0
addresses #52
Diffstat (limited to 'src/widgets/command.rs')
| -rw-r--r-- | src/widgets/command.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/widgets/command.rs b/src/widgets/command.rs index 7e0dfca..0abe13d 100644 --- a/src/widgets/command.rs +++ b/src/widgets/command.rs @@ -126,6 +126,11 @@ fn render_dynamic_formatted_content(content: &str) -> String { #[tracing::instrument(skip(command_config, state))] fn run_command_if_needed(command_config: CommandConfig, name: &str, state: &ZellijState) { + let got_result = state.command_results.contains_key(name); + if got_result && command_config.interval == 0 { + return; + } + let ts = Local::now(); let last_run = get_timestamp_from_event_or_default(name, state, command_config.interval); @@ -188,7 +193,9 @@ fn parse_config(zj_conf: &BTreeMap<String, String>) -> BTreeMap<String, CommandC } if key.ends_with("command") { - command_conf.command.clone_from(&zj_conf.get(&key).unwrap().to_owned()) + command_conf + .command + .clone_from(&zj_conf.get(&key).unwrap().to_owned()) } if key.ends_with("env") { |
