aboutsummaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-05-11 07:34:14 -0400
committerLibravatar GitHub <noreply@github.com>2018-05-11 07:34:14 -0400
commit2217518bd554d0f11dafa7ec4e8f35f2e4762fbd (patch)
treee541fb35656224109ec2d03275dce45afca0653f /sway
parentMerge pull request #1955 from ggreer/normal-borders (diff)
parentcmd_move_container: Focus a window on the source workspace. (diff)
downloadsway-2217518bd554d0f11dafa7ec4e8f35f2e4762fbd.tar.gz
sway-2217518bd554d0f11dafa7ec4e8f35f2e4762fbd.tar.zst
sway-2217518bd554d0f11dafa7ec4e8f35f2e4762fbd.zip
Merge pull request #1956 from ggreer/move-focus
cmd_move_container: Focus a window on the source workspace.
Diffstat (limited to 'sway')
-rw-r--r--sway/commands/move.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sway/commands/move.c b/sway/commands/move.c
index a5273ba4..890b1a8c 100644
--- a/sway/commands/move.c
+++ b/sway/commands/move.c
@@ -90,12 +90,14 @@ static struct cmd_results *cmd_move_container(struct sway_container *current,
90 } 90 }
91 free(ws_name); 91 free(ws_name);
92 struct sway_container *old_parent = current->parent; 92 struct sway_container *old_parent = current->parent;
93 struct sway_container *focus = seat_get_focus_inactive( 93 struct sway_container *destination = seat_get_focus_inactive(
94 config->handler_context.seat, ws); 94 config->handler_context.seat, ws);
95 container_move_to(current, focus); 95 container_move_to(current, destination);
96 seat_set_focus(config->handler_context.seat, old_parent); 96 struct sway_container *focus = seat_get_focus_inactive(
97 config->handler_context.seat, old_parent);
98 seat_set_focus(config->handler_context.seat, focus);
97 container_reap_empty(old_parent); 99 container_reap_empty(old_parent);
98 container_reap_empty(focus->parent); 100 container_reap_empty(destination->parent);
99 return cmd_results_new(CMD_SUCCESS, NULL, NULL); 101 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
100 } else if (strcasecmp(argv[1], "to") == 0 102 } else if (strcasecmp(argv[1], "to") == 0
101 && strcasecmp(argv[2], "output") == 0) { 103 && strcasecmp(argv[2], "output") == 0) {