From d16845d5f0f7ea0316fb9d5e2b7d20b78ca41991 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 6 Mar 2019 18:54:41 +1000 Subject: Don't send button events to surfaces when dragging or resizing It turns out sending button events during all seat operations is not desirable. This patch introduces a new property `seatop_impl.allows_events` which allows each operation to define whether button events should be passed to the surface or not. The `down` seat operation is the only one that supports this. As all the other seatops don't support it, the calls to seat_pointer_notify_button prior to starting them have been removed. --- include/sway/input/seat.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/sway/input') diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 0f5dab98..eb674b70 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h @@ -15,6 +15,7 @@ struct sway_seatop_impl { void (*unref)(struct sway_seat *seat, struct sway_container *con); void (*render)(struct sway_seat *seat, struct sway_output *output, pixman_region32_t *damage); + bool allows_events; }; struct sway_seat_device { @@ -239,4 +240,6 @@ void seatop_unref(struct sway_seat *seat, struct sway_container *con); void seatop_render(struct sway_seat *seat, struct sway_output *output, pixman_region32_t *damage); +bool seatop_allows_events(struct sway_seat *seat); + #endif -- cgit v1.2.3