git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit3c2bc12278baa92abd5f5852277f0378a11eb2ec
parenta24fbf37da
authorLucas Galante <[email protected]>
date2026-07-04 16:36
Remove hardcoded 3-finger swipe zoom gesture behavior

 src/server/cursor.rs | 45 +--------------------------------------------
 1 file changed, 1 insertion(+), 44 deletions(-)

diff --git a/src/server/cursor.rs b/src/server/cursor.rs
index ac4cd9b..2b63d5d 100644
--- a/src/server/cursor.rs
+++ b/src/server/cursor.rs
@@ -1809,50 +1809,7 @@ unsafe extern "C" fn handle_swipe_update(listener: *mut ffi::wl_listener, data:
     }
     seat.handle_activity();
 
-    if (*event).fingers == 3 {
-        let wm = &mut (*seat.server).wm;
-        wm.stop_panning_animation();
-        
-        let dy = (*event).dy;
-        let zoom_factor = 1.005_f64.powf(-dy);
-        let old_zoom = wm.desk_zoom;
-        let new_zoom = (old_zoom * zoom_factor).clamp(0.1, 10.0);
-        
-        if new_zoom != old_zoom {
-            let cx = cursor.x();
-            let cy = cursor.y();
-            let wlr_output = (*(*seat).server).om.output_at(cx, cy);
-            let (phys_x, phys_y) = if !wlr_output.is_null() {
-                let mut output_box = ffi::wlr_box { x: 0, y: 0, width: 0, height: 0 };
-                ffi::wlr_output_layout_get_box((*(*seat).server).om.output_layout, wlr_output, &mut output_box);
-                (output_box.x as f64, output_box.y as f64)
-            } else {
-                (0.0, 0.0)
-            };
-            wm.desk_pan_x += (cx - phys_x) * (1.0 / old_zoom - 1.0 / new_zoom);
-            wm.desk_pan_y += (cy - phys_y) * (1.0 / old_zoom - 1.0 / new_zoom);
-            wm.desk_zoom = new_zoom;
-            wm.mode = if (new_zoom - 1.0).abs() > 0.001 { crate::window_manager::WindowManagerMode::Overview } else { crate::window_manager::WindowManagerMode::Normal };
-            if matches!(wm.state, crate::window_manager::WindowManagerState::Idle) {
-                wm.update_viewport_local();
-            } else {
-                wm.dirty_windowing();
-            }
-        }
-        
-        let server = seat.server;
-        let pointer_gestures = (*server).input_manager.pointer_gestures;
-        if !pointer_gestures.is_null() {
-            ffi::wlr_pointer_gestures_v1_send_swipe_update(
-                pointer_gestures,
-                seat.wlr_seat,
-                (*event).time_msec,
-                (*event).dx,
-                (*event).dy,
-            );
-        }
-        return;
-    }
+
 
     if cursor.gesture_triggered {
         return;