diff --git a/cmd-swap-window.c b/cmd-swap-window.c index b765112b..d3135398 100644 --- a/cmd-swap-window.c +++ b/cmd-swap-window.c @@ -77,6 +77,8 @@ cmd_swap_window_exec(struct cmd *self, struct cmdq_item *item) wl_src->window = w_dst; TAILQ_INSERT_TAIL(&w_dst->winlinks, wl_src, wentry); + if (marked_pane.wl == wl_src) + marked_pane.wl = wl_dst; if (args_has(args, 'd')) { session_select(dst, wl_dst->idx); if (src != dst) diff --git a/server-fn.c b/server-fn.c index 2180d8bb..72c0f8f8 100644 --- a/server-fn.c +++ b/server-fn.c @@ -289,6 +289,8 @@ server_link_window(struct session *src, struct winlink *srcwl, if (dstwl == NULL) return (-1); + if (marked_pane.wl == srcwl) + marked_pane.wl = dstwl; if (selectflag) session_select(dst, dstwl->idx); server_redraw_session_group(dst);