From fca32b6334afe69ea10c88de7670c79ae98ce0fd Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Sat, 1 Feb 2020 18:58:13 +0100 Subject: [PATCH] Do not truncate pointer coordinates to int. This increases the precision of the clicks when using i3bar. --- include/swaybar/input.h | 2 +- swaybar/input.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/swaybar/input.h b/include/swaybar/input.h index 2d38f7a71..6557a29e8 100644 --- a/include/swaybar/input.h +++ b/include/swaybar/input.h @@ -18,7 +18,7 @@ struct swaybar_pointer { struct wl_cursor_image *cursor_image; struct wl_surface *cursor_surface; struct swaybar_output *current; - int x, y; + double x, y; uint32_t serial; }; diff --git a/swaybar/input.c b/swaybar/input.c index 7f68caece..aa6290fa5 100644 --- a/swaybar/input.c +++ b/swaybar/input.c @@ -121,8 +121,8 @@ static void wl_pointer_leave(void *data, struct wl_pointer *wl_pointer, static void wl_pointer_motion(void *data, struct wl_pointer *wl_pointer, uint32_t time, wl_fixed_t surface_x, wl_fixed_t surface_y) { struct swaybar_seat *seat = data; - seat->pointer.x = wl_fixed_to_int(surface_x); - seat->pointer.y = wl_fixed_to_int(surface_y); + seat->pointer.x = wl_fixed_to_double(surface_x); + seat->pointer.y = wl_fixed_to_double(surface_y); } static bool check_bindings(struct swaybar *bar, uint32_t button,