diff --git a/src/shell/mod.rs b/src/shell/mod.rs index 756ed9c6..9cac925a 100644 --- a/src/shell/mod.rs +++ b/src/shell/mod.rs @@ -1212,7 +1212,13 @@ impl Shell { } } else { if !matches!(self.overview_mode, OverviewMode::Ended(_)) { - self.overview_mode = OverviewMode::Ended(Instant::now()); + let reverse_duration = if let OverviewMode::Started(_, start) = self.overview_mode { + ANIMATION_DURATION + - Instant::now().duration_since(start).min(ANIMATION_DURATION) + } else { + Duration::ZERO + }; + self.overview_mode = OverviewMode::Ended(Instant::now() - reverse_duration); } } }