sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 147a88260a74f536e1a1e513f0f8087d02982b00
parent e66f813d49e60728064fa563e01f00f7d99e0a08
Author: Drew DeVault <sir@cmpwn.com>
Date:   Sat, 16 Jul 2016 09:09:22 -0400

Fix #753

Diffstat:
Minclude/client/window.h | 3+--
Mswaybar/bar.c | 8++++++--
Mwayland/window.c | 2+-
3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/include/client/window.h b/include/client/window.h @@ -38,8 +38,7 @@ struct pointer_input { int last_x; int last_y; - void (*notify_button)(struct window *window, int x, int y, uint32_t button); - + void (*notify_button)(struct window *window, int x, int y, uint32_t button, uint32_t state_w); void (*notify_scroll)(struct window *window, enum scroll_direction direction); }; diff --git a/swaybar/bar.c b/swaybar/bar.c @@ -58,8 +58,12 @@ struct output *new_output(const char *name) { return output; } -static void mouse_button_notify(struct window *window, int x, int y, uint32_t button) { - sway_log(L_DEBUG, "Mouse button %d clicked at %d %d\n", button, x, y); +static void mouse_button_notify(struct window *window, int x, int y, + uint32_t button, uint32_t state_w) { + sway_log(L_DEBUG, "Mouse button %d clicked at %d %d %d\n", button, x, y, state_w); + if (!state_w) { + return; + } struct output *clicked_output = NULL; for (int i = 0; i < swaybar.outputs->length; i++) { diff --git a/wayland/window.c b/wayland/window.c @@ -42,7 +42,7 @@ static void pointer_handle_button(void *data, struct wl_pointer *pointer, uint32 struct pointer_input *input = &window->pointer_input; if (window->pointer_input.notify_button) { - window->pointer_input.notify_button(window, input->last_x, input->last_y, button); + window->pointer_input.notify_button(window, input->last_x, input->last_y, button, state_w); } }