Introduce cursor_rebase

This function "rebases" the cursor on top of whatever is underneath it,
without triggering any focus changes.
This commit is contained in:
Ryan Dwyer 2018-10-19 00:04:21 +10:00
parent 28f3b8cb03
commit 9ea71f292b
8 changed files with 78 additions and 51 deletions

View file

@ -1173,7 +1173,7 @@ void seat_end_mouse_operation(struct sway_seat *seat) {
seat->cursor->previous.x = seat->op_ref_lx;
seat->cursor->previous.y = seat->op_ref_ly;
if (seat->op_moved) {
cursor_send_pointer_motion(seat->cursor, 0, true);
cursor_send_pointer_motion(seat->cursor, 0);
}
} else {
cursor_set_image(seat->cursor, "left_ptr", NULL);
@ -1207,5 +1207,5 @@ void seat_consider_warp_to_focus(struct sway_seat *seat) {
} else {
cursor_warp_to_workspace(seat->cursor, focus->sway_workspace);
}
cursor_send_pointer_motion(seat->cursor, 0, false);
cursor_rebase(seat->cursor);
}