aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-03-02 15:23:40 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-03-02 15:48:54 +0400
commit5f416abcf9053cf61323921b6218d72a77e2dceb (patch)
tree7ca9eb9b3d96ddc9da8e4b2a6dd6bc0f2de51fe3 /src/layout/mod.rs
parent66c1272420c9fab848ff6ccf68d96a09632bc796 (diff)
downloadniri-5f416abcf9053cf61323921b6218d72a77e2dceb.tar.gz
niri-5f416abcf9053cf61323921b6218d72a77e2dceb.tar.bz2
niri-5f416abcf9053cf61323921b6218d72a77e2dceb.zip
Change horizontal gesture to focus furthest window
Diffstat (limited to 'src/layout/mod.rs')
-rw-r--r--src/layout/mod.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs
index 6ec3ca8c..2985a29e 100644
--- a/src/layout/mod.rs
+++ b/src/layout/mod.rs
@@ -1660,7 +1660,11 @@ impl<W: LayoutElement> Layout<W> {
}
}
- pub fn view_offset_gesture_update(&mut self, delta_x: f64) -> Option<Option<Output>> {
+ pub fn view_offset_gesture_update(
+ &mut self,
+ delta_x: f64,
+ timestamp: Duration,
+ ) -> Option<Option<Output>> {
let monitors = match &mut self.monitor_set {
MonitorSet::Normal { monitors, .. } => monitors,
MonitorSet::NoOutputs { .. } => return None,
@@ -1668,7 +1672,7 @@ impl<W: LayoutElement> Layout<W> {
for monitor in monitors {
for ws in &mut monitor.workspaces {
- if let Some(refresh) = ws.view_offset_gesture_update(delta_x) {
+ if let Some(refresh) = ws.view_offset_gesture_update(delta_x, timestamp) {
if refresh {
return Some(Some(monitor.output.clone()));
} else {
@@ -2036,6 +2040,7 @@ mod tests {
ViewOffsetGestureUpdate {
#[proptest(strategy = "arbitrary_view_offset_gesture_delta()")]
delta: f64,
+ timestamp: Duration,
},
ViewOffsetGestureEnd,
WorkspaceSwitchGestureBegin {
@@ -2293,8 +2298,8 @@ mod tests {
layout.view_offset_gesture_begin(&output);
}
- Op::ViewOffsetGestureUpdate { delta } => {
- layout.view_offset_gesture_update(delta);
+ Op::ViewOffsetGestureUpdate { delta, timestamp } => {
+ layout.view_offset_gesture_update(delta, timestamp);
}
Op::ViewOffsetGestureEnd => {
// We don't handle cancels in this gesture.