From 62e82837f7ffde39e620e61759e2f2eef14d16b5 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Thu, 28 Mar 2024 12:34:46 +0100 Subject: [PATCH] Don't consider gestures animating. Fixes #391 --- src/shell/mod.rs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/shell/mod.rs b/src/shell/mod.rs index 56e5529c..eba337c6 100644 --- a/src/shell/mod.rs +++ b/src/shell/mod.rs @@ -257,6 +257,13 @@ impl WorkspaceDelta { pub fn new_shortcut() -> Self { WorkspaceDelta::Shortcut(Instant::now()) } + + pub fn is_animating(&self) -> bool { + matches!( + self, + WorkspaceDelta::Shortcut(_) | WorkspaceDelta::GestureEnd(_, _) + ) + } } #[derive(Debug)] @@ -1537,11 +1544,12 @@ impl Shell { } pub fn animations_going(&self) -> bool { - self.workspaces - .sets - .values() - .any(|set| set.previously_active.is_some() || set.sticky_layer.animations_going()) - || !matches!(self.overview_mode, OverviewMode::None) + self.workspaces.sets.values().any(|set| { + set.previously_active + .as_ref() + .is_some_and(|(_, delta)| delta.is_animating()) + || set.sticky_layer.animations_going() + }) || !matches!(self.overview_mode, OverviewMode::None) || !matches!(self.resize_mode, ResizeMode::None) || self .workspaces