Merge pull request #1956 from ggreer/move-focus

cmd_move_container: Focus a window on the source workspace.
This commit is contained in:
Drew DeVault 2018-05-11 07:34:14 -04:00 committed by GitHub
commit 2217518bd5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -90,12 +90,14 @@ static struct cmd_results *cmd_move_container(struct sway_container *current,
} }
free(ws_name); free(ws_name);
struct sway_container *old_parent = current->parent; struct sway_container *old_parent = current->parent;
struct sway_container *focus = seat_get_focus_inactive( struct sway_container *destination = seat_get_focus_inactive(
config->handler_context.seat, ws); config->handler_context.seat, ws);
container_move_to(current, focus); container_move_to(current, destination);
seat_set_focus(config->handler_context.seat, old_parent); struct sway_container *focus = seat_get_focus_inactive(
config->handler_context.seat, old_parent);
seat_set_focus(config->handler_context.seat, focus);
container_reap_empty(old_parent); container_reap_empty(old_parent);
container_reap_empty(focus->parent); container_reap_empty(destination->parent);
return cmd_results_new(CMD_SUCCESS, NULL, NULL); return cmd_results_new(CMD_SUCCESS, NULL, NULL);
} else if (strcasecmp(argv[1], "to") == 0 } else if (strcasecmp(argv[1], "to") == 0
&& strcasecmp(argv[2], "output") == 0) { && strcasecmp(argv[2], "output") == 0) {