From e0ec6e5b11bc222c252157beb064104f4c60dfbe Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sat, 2 Mar 2024 14:33:22 +0400 Subject: Make vertical touchpad swipe inertial Values and implementation are heavily inspired by AdwSwipeTracker. --- src/input.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/input.rs') diff --git a/src/input.rs b/src/input.rs index d832195a..232cd77f 100644 --- a/src/input.rs +++ b/src/input.rs @@ -1,5 +1,6 @@ use std::any::Any; use std::collections::HashSet; +use std::time::Duration; use niri_config::{Action, Binds, Modifiers}; use niri_ipc::LayoutSwitchTarget; @@ -1242,8 +1243,13 @@ impl State { } } + let timestamp = Duration::from_micros(event.time()); + let mut handled = false; - let res = self.niri.layout.workspace_switch_gesture_update(delta_y); + let res = self + .niri + .layout + .workspace_switch_gesture_update(delta_y, timestamp); if let Some(output) = res { if let Some(output) = output { self.niri.queue_redraw(output); -- cgit