From 17750289a5bd11979a1bc10b6351ccbbc0a44eb8 Mon Sep 17 00:00:00 2001 From: elkowar <5300871+elkowar@users.noreply.github.com> Date: Mon, 23 Aug 2021 10:06:28 +0200 Subject: [PATCH] fix: Run hot-reloading only on modify events --- crates/eww/src/app.rs | 5 ++++- crates/eww/src/server.rs | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/eww/src/app.rs b/crates/eww/src/app.rs index 2544e01..1e14c6d 100644 --- a/crates/eww/src/app.rs +++ b/crates/eww/src/app.rs @@ -174,7 +174,7 @@ impl App { sender.send_success(output)? } DaemonCommand::PrintDebug(sender) => { - let output = format!("state: {:#?}\n\nconfig: {:#?}", &self.eww_state, &self.eww_config); + let output = format!("{:#?}", &self); sender.send_success(output)? } } @@ -268,6 +268,9 @@ impl App { // refresh script-var poll stuff self.script_var_handler.stop_all(); + + log::trace!("loading config: {:#?}", config); + self.eww_config = config; self.eww_state.clear_all_window_states(); diff --git a/crates/eww/src/server.rs b/crates/eww/src/server.rs index 81e3712..b31e5de 100644 --- a/crates/eww/src/server.rs +++ b/crates/eww/src/server.rs @@ -138,17 +138,18 @@ async fn run_filewatch>(config_dir: P, evt_send: UnboundedSender< let (tx, mut rx) = tokio::sync::mpsc::unbounded_channel(); let mut watcher: RecommendedWatcher = Watcher::new(move |res: notify::Result| match res { - Ok(event) => { - let relevant_files_changed = event.paths.iter().any(|path| { + Ok(notify::Event { kind: notify::EventKind::Modify(_), paths, .. }) => { + let relevant_files_changed = paths.iter().any(|path| { let ext = path.extension().unwrap_or_default(); ext == "yuck" || ext == "scss" }); - if !relevant_files_changed { + if relevant_files_changed { if let Err(err) = tx.send(()) { log::warn!("Error forwarding file update event: {:?}", err); } } } + Ok(_) => {} Err(e) => log::error!("Encountered Error While Watching Files: {}", e), })?; watcher.watch(&config_dir.as_ref(), RecursiveMode::Recursive)?;