diff options
Diffstat (limited to 'swaybar/input.c')
-rw-r--r-- | swaybar/input.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/swaybar/input.c b/swaybar/input.c index 4fe6dd93..c8c8f0d4 100644 --- a/swaybar/input.c +++ b/swaybar/input.c | |||
@@ -101,6 +101,8 @@ static void wl_pointer_enter(void *data, struct wl_pointer *wl_pointer, | |||
101 | wl_fixed_t surface_x, wl_fixed_t surface_y) { | 101 | wl_fixed_t surface_x, wl_fixed_t surface_y) { |
102 | struct swaybar_seat *seat = data; | 102 | struct swaybar_seat *seat = data; |
103 | struct swaybar_pointer *pointer = &seat->pointer; | 103 | struct swaybar_pointer *pointer = &seat->pointer; |
104 | seat->pointer.x = wl_fixed_to_double(surface_x); | ||
105 | seat->pointer.y = wl_fixed_to_double(surface_y); | ||
104 | pointer->serial = serial; | 106 | pointer->serial = serial; |
105 | struct swaybar_output *output; | 107 | struct swaybar_output *output; |
106 | wl_list_for_each(output, &seat->bar->outputs, link) { | 108 | wl_list_for_each(output, &seat->bar->outputs, link) { |
@@ -140,13 +142,11 @@ static bool check_bindings(struct swaybar *bar, uint32_t button, | |||
140 | 142 | ||
141 | static bool process_hotspots(struct swaybar_output *output, | 143 | static bool process_hotspots(struct swaybar_output *output, |
142 | double x, double y, uint32_t button) { | 144 | double x, double y, uint32_t button) { |
143 | double px = x * output->scale; | ||
144 | double py = y * output->scale; | ||
145 | struct swaybar_hotspot *hotspot; | 145 | struct swaybar_hotspot *hotspot; |
146 | wl_list_for_each(hotspot, &output->hotspots, link) { | 146 | wl_list_for_each(hotspot, &output->hotspots, link) { |
147 | if (px >= hotspot->x && py >= hotspot->y | 147 | if (x >= hotspot->x && y >= hotspot->y |
148 | && px < hotspot->x + hotspot->width | 148 | && x < hotspot->x + hotspot->width |
149 | && py < hotspot->y + hotspot->height) { | 149 | && y < hotspot->y + hotspot->height) { |
150 | if (HOTSPOT_IGNORE == hotspot->callback(output, hotspot, x, y, | 150 | if (HOTSPOT_IGNORE == hotspot->callback(output, hotspot, x, y, |
151 | button, hotspot->data)) { | 151 | button, hotspot->data)) { |
152 | return true; | 152 | return true; |
@@ -339,7 +339,7 @@ static void wl_pointer_axis_discrete(void *data, struct wl_pointer *wl_pointer, | |||
339 | seat->axis[axis].discrete_steps += abs(discrete); | 339 | seat->axis[axis].discrete_steps += abs(discrete); |
340 | } | 340 | } |
341 | 341 | ||
342 | static struct wl_pointer_listener pointer_listener = { | 342 | static const struct wl_pointer_listener pointer_listener = { |
343 | .enter = wl_pointer_enter, | 343 | .enter = wl_pointer_enter, |
344 | .leave = wl_pointer_leave, | 344 | .leave = wl_pointer_leave, |
345 | .motion = wl_pointer_motion, | 345 | .motion = wl_pointer_motion, |