From e774b89062c414b10d10ccc4ea7eeaa812386cf1 Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 30 Oct 2025 13:52:08 +0000 Subject: [PATCH] Preserve marked pane with swap-window and move-window, GitHub issue 3443. --- cmd-swap-window.c | 2 ++ server-fn.c | 2 ++ 2 files changed, 4 insertions(+) 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);