From adbd53327cc597d176da6f7cc23dec72047db90d Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Mon, 14 Aug 2023 17:40:15 +0400 Subject: Advance animations in process_input_event --- src/input.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/input.rs') diff --git a/src/input.rs b/src/input.rs index 9e7267a9..2f442c34 100644 --- a/src/input.rs +++ b/src/input.rs @@ -9,6 +9,7 @@ use smithay::input::pointer::{AxisFrame, ButtonEvent, MotionEvent, RelativeMotio use smithay::utils::SERIAL_COUNTER; use crate::niri::Niri; +use crate::utils::get_monotonic_time; enum Action { None, @@ -101,6 +102,12 @@ impl Niri { let _span = tracy_client::span!("process_input_event"); trace!("process_input_event"); + // A bit of a hack, but animation end runs some logic (i.e. workspace clean-up) and it + // doesn't always trigger due to damage, etc. So run it here right before it might prove + // important. Besides, animations affect the input, so it's best to have up-to-date values + // here. + self.monitor_set.advance_animations(get_monotonic_time()); + match event { InputEvent::Keyboard { event, .. } => { let serial = SERIAL_COUNTER.next_serial(); -- cgit