From e787a1581cc399ca7d953c9cd4d868499f5733a3 Mon Sep 17 00:00:00 2001 From: William Wold Date: Sun, 9 Sep 2018 22:47:58 -0700 Subject: Give windows pointer focus immediately when they are switched to Fixes #2401 (aka #2558) Previously, when switching windows, pointer focus was not changed until the pointer was moved. This makes the pointer enter happen immediately, without the side effects of other attempted fixes. --- sway/tree/workspace.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sway/tree/workspace.c') diff --git a/sway/tree/workspace.c b/sway/tree/workspace.c index 378bfc5d..b8e90892 100644 --- a/sway/tree/workspace.c +++ b/sway/tree/workspace.c @@ -7,6 +7,7 @@ #include #include "stringop.h" #include "sway/input/input-manager.h" +#include "sway/input/cursor.h" #include "sway/input/seat.h" #include "sway/ipc-server.h" #include "sway/output.h" @@ -400,6 +401,7 @@ bool workspace_switch(struct sway_workspace *workspace, if (&floater->node == focus) { seat_set_focus(seat, NULL); seat_set_focus_container(seat, floater); + cursor_send_pointer_motion(seat->cursor, 0, true); } --i; } @@ -422,6 +424,7 @@ bool workspace_switch(struct sway_workspace *workspace, } seat_set_focus(seat, next); arrange_workspace(workspace); + cursor_send_pointer_motion(seat->cursor, 0, true); return true; } -- cgit v1.2.3