input: don't paste from primary if client is mouse tracking

This commit is contained in:
Daniel Eklöf 2019-08-09 21:26:34 +02:00
parent 356c5a28b5
commit 70b6d9d7d2
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 3 additions and 2 deletions

View file

@ -433,7 +433,7 @@ wl_pointer_button(void *data, struct wl_pointer *wl_pointer,
break;
}
} else {
if (term->mouse.count == 1 && button == BTN_MIDDLE)
if (term->mouse.count == 1 && button == BTN_MIDDLE && selection_enabled(term))
selection_from_primary(term);
selection_cancel(term);
}

View file

@ -17,7 +17,7 @@
#define min(x, y) ((x) < (y) ? (x) : (y))
#define max(x, y) ((x) > (y) ? (x) : (y))
static bool
bool
selection_enabled(const struct terminal *term)
{
return term->mouse_tracking == MOUSE_NONE || term->kbd.shift;

View file

@ -8,6 +8,7 @@
extern const struct wl_data_device_listener data_device_listener;
extern const struct zwp_primary_selection_device_v1_listener primary_selection_device_listener;
bool selection_enabled(const struct terminal *term);
void selection_start(struct terminal *term, int col, int row);
void selection_update(struct terminal *term, int col, int row);
void selection_finalize(struct terminal *term, uint32_t serial);