From 3b19536df9956065c6a404f7529467058a9cbe70 Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 28 May 2026 11:17:35 +0000 Subject: [PATCH] Swap panes on z-index list as well. --- cmd-swap-pane.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cmd-swap-pane.c b/cmd-swap-pane.c index a8e252e7..029bf4b3 100644 --- a/cmd-swap-pane.c +++ b/cmd-swap-pane.c @@ -98,6 +98,16 @@ cmd_swap_pane_exec(struct cmd *self, struct cmdq_item *item) else TAILQ_INSERT_AFTER(&dst_w->panes, tmp_wp, src_wp, entry); + tmp_wp = TAILQ_PREV(dst_wp, window_panes, zentry); + TAILQ_REMOVE(&dst_w->z_index, dst_wp, zentry); + TAILQ_REPLACE(&src_w->z_index, src_wp, dst_wp, zentry); + if (tmp_wp == src_wp) + tmp_wp = dst_wp; + if (tmp_wp == NULL) + TAILQ_INSERT_HEAD(&dst_w->z_index, src_wp, zentry); + else + TAILQ_INSERT_AFTER(&dst_w->z_index, tmp_wp, src_wp, zentry); + src_lc = src_wp->layout_cell; dst_lc = dst_wp->layout_cell; src_lc->wp = dst_wp;