diff options
Diffstat (limited to 'swaybar/render.c')
-rw-r--r-- | swaybar/render.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/swaybar/render.c b/swaybar/render.c index 06efb53c..ea5faef6 100644 --- a/swaybar/render.c +++ b/swaybar/render.c | |||
@@ -131,11 +131,15 @@ static void render_sharp_line(cairo_t *cairo, uint32_t color, | |||
131 | 131 | ||
132 | static enum hotspot_event_handling block_hotspot_callback( | 132 | static enum hotspot_event_handling block_hotspot_callback( |
133 | struct swaybar_output *output, struct swaybar_hotspot *hotspot, | 133 | struct swaybar_output *output, struct swaybar_hotspot *hotspot, |
134 | int x, int y, uint32_t button, void *data) { | 134 | double x, double y, uint32_t button, void *data) { |
135 | struct i3bar_block *block = data; | 135 | struct i3bar_block *block = data; |
136 | struct status_line *status = output->bar->status; | 136 | struct status_line *status = output->bar->status; |
137 | return i3bar_block_send_click(status, block, x, y, x - hotspot->x, | 137 | return i3bar_block_send_click(status, block, x, y, |
138 | y - hotspot->y, hotspot->width, hotspot->height, button); | 138 | x - (double)hotspot->x / output->scale, |
139 | y - (double)hotspot->y / output->scale, | ||
140 | (double)hotspot->width / output->scale, | ||
141 | (double)hotspot->height / output->scale, | ||
142 | output->scale, button); | ||
139 | } | 143 | } |
140 | 144 | ||
141 | static void i3bar_block_unref_callback(void *data) { | 145 | static void i3bar_block_unref_callback(void *data) { |
@@ -540,7 +544,7 @@ static uint32_t render_binding_mode_indicator(cairo_t *cairo, | |||
540 | 544 | ||
541 | static enum hotspot_event_handling workspace_hotspot_callback( | 545 | static enum hotspot_event_handling workspace_hotspot_callback( |
542 | struct swaybar_output *output, struct swaybar_hotspot *hotspot, | 546 | struct swaybar_output *output, struct swaybar_hotspot *hotspot, |
543 | int x, int y, uint32_t button, void *data) { | 547 | double x, double y, uint32_t button, void *data) { |
544 | if (button != BTN_LEFT) { | 548 | if (button != BTN_LEFT) { |
545 | return HOTSPOT_PROCESS; | 549 | return HOTSPOT_PROCESS; |
546 | } | 550 | } |