diff --git a/daemon/manager.rs b/daemon/manager.rs index 066a74c..bf87060 100644 --- a/daemon/manager.rs +++ b/daemon/manager.rs @@ -250,13 +250,12 @@ impl NiriTag { } }; let rm_tag = async |tx: Sender, windows: &HashMap, wid, old_tag| { - if old_tag != 0 - && windows - .iter() - .filter(|(w, tag)| **tag == old_tag && **w != wid) - .collect::>() - .is_empty() - { + tracing::debug!("removing tag {}", wid); + let same_tagged = windows + .iter() + .filter(|(w, tag)| **tag == old_tag && **w != wid) + .count(); + if same_tagged == 0 && old_tag != 0 { send_event(tx, TagEvent::TagEmpty(old_tag)).await; } };