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

commit4abb263177499009cfe50a2aa27732fe9d44ea63
parentb55efac432
authorIsaac Freund <[email protected]>
date2020-12-27 16:11
cursor: fix motion coords sent in down mode

We need to subtract the coords of the actual surface as they may not
alingn with the current box if using CSD.

 river/Cursor.zig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/river/Cursor.zig b/river/Cursor.zig
index 3fde7d4..f1dff59 100644
--- a/river/Cursor.zig
+++ b/river/Cursor.zig
@@ -478,8 +478,8 @@ fn processMotion(self: *Self, device: *wlr.InputDevice, time: u32, delta_x: f64,
             self.wlr_cursor.move(device, delta_x, delta_y);
             self.seat.wlr_seat.pointerNotifyMotion(
                 time,
-                self.wlr_cursor.x - @intToFloat(f64, view.current.box.x),
-                self.wlr_cursor.y - @intToFloat(f64, view.current.box.y),
+                self.wlr_cursor.x - @intToFloat(f64, view.current.box.x - view.surface_box.x),
+                self.wlr_cursor.y - @intToFloat(f64, view.current.box.y - view.surface_box.y),
             );
         },
         .move => |view| {