From 7affe5c1bda53a2bb57295b7b6dbe4494e8c007b Mon Sep 17 00:00:00 2001 From: Hristo Venev Date: Sat, 1 Feb 2020 18:08:00 +0100 Subject: swaybar: fix i3bar relative coordinates when scaling is used 24e8ba048aef4751c6fa1d5982ee634f921e6cf6 did not take scaling into account. The hotspot size used pixel coordinates, the absolute coordinates were logical, and the relative coordinates were completely wrong. This commit makes all coordinates use logical values. If `"float_event_coords":true` is sent in the handshake message, coordinates are sent as floating-point values. The "scale" field is an integer containing the scale value. --- swaybar/tray/item.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'swaybar/tray') diff --git a/swaybar/tray/item.c b/swaybar/tray/item.c index 06a8e5b0..b4238417 100644 --- a/swaybar/tray/item.c +++ b/swaybar/tray/item.c @@ -377,7 +377,7 @@ static int cmp_sni_id(const void *item, const void *cmp_to) { static enum hotspot_event_handling icon_hotspot_callback( struct swaybar_output *output, struct swaybar_hotspot *hotspot, - int x, int y, uint32_t button, void *data) { + double x, double y, uint32_t button, void *data) { sway_log(SWAY_DEBUG, "Clicked on %s", (char *)data); struct swaybar_tray *tray = output->bar->tray; -- cgit v1.2.3-54-g00ecf