multi-seat: improve handling of multiple (mouse) pointers

* xcursor always set for all pointers
* xcursor sometimes not updated when it should be
* mouse grabbed state wasn't per seat, but global (i.e. "does at least
  one seat enable mouse grabbing")
* selection enabled state wasn't per seat
This commit is contained in:
Daniel Eklöf 2020-07-09 09:52:11 +02:00
parent 699cbaf380
commit 4e48d550ef
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
8 changed files with 97 additions and 90 deletions

View file

@ -8,7 +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);
bool selection_enabled(const struct terminal *term, struct seat *seat);
void selection_start(
struct terminal *term, int col, int row, enum selection_kind kind);
void selection_update(struct terminal *term, int col, int row);