Don't steal focus when a view changes its title

Fixes #1989
This commit is contained in:
Ryan Dwyer 2018-05-16 20:29:04 +10:00
parent 2df8f266cd
commit fc96f004d2

View File

@ -365,8 +365,7 @@ void view_execute_criteria(struct sway_view *view) {
return; return;
} }
struct sway_seat *seat = input_manager_current_seat(input_manager); struct sway_seat *seat = input_manager_current_seat(input_manager);
struct sway_container *prior_workspace = struct sway_container *prior_focus = seat_get_focus(seat);
container_parent(view->swayc, C_WORKSPACE);
list_t *criterias = criteria_for_view(view, CT_COMMAND); list_t *criterias = criteria_for_view(view, CT_COMMAND);
for (int i = 0; i < criterias->length; i++) { for (int i = 0; i < criterias->length; i++) {
struct criteria *criteria = criterias->items[i]; struct criteria *criteria = criterias->items[i];
@ -388,7 +387,7 @@ void view_execute_criteria(struct sway_view *view) {
seat_set_focus(seat, view->swayc); seat_set_focus(seat, view->swayc);
} }
list_free(criterias); list_free(criterias);
seat_set_focus(seat, seat_get_focus_inactive(seat, prior_workspace)); seat_set_focus(seat, prior_focus);
} }
void view_map(struct sway_view *view, struct wlr_surface *wlr_surface) { void view_map(struct sway_view *view, struct wlr_surface *wlr_surface) {