From e06efab9da1f4edb3cb631dc752d7786d5edb5cf Mon Sep 17 00:00:00 2001 From: nicm Date: Sat, 14 Jan 2017 18:53:08 +0000 Subject: killp -a should not kill the window if only one pane. --- cmd-kill-pane.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'cmd-kill-pane.c') diff --git a/cmd-kill-pane.c b/cmd-kill-pane.c index 59bbd19e..05d81e59 100644 --- a/cmd-kill-pane.c +++ b/cmd-kill-pane.c @@ -49,13 +49,6 @@ cmd_kill_pane_exec(struct cmd *self, struct cmdq_item *item) server_unzoom_window(wl->window); - if (window_count_panes(wl->window) == 1) { - /* Only one pane, kill the window. */ - server_kill_window(wl->window); - recalculate_sizes(); - return (CMD_RETURN_NORMAL); - } - if (args_has(self->args, 'a')) { TAILQ_FOREACH_SAFE(loopwp, &wl->window->panes, entry, tmpwp) { if (loopwp == wp) @@ -63,11 +56,16 @@ cmd_kill_pane_exec(struct cmd *self, struct cmdq_item *item) layout_close_pane(loopwp); window_remove_pane(wl->window, loopwp); } + return (CMD_RETURN_NORMAL); + } + + if (window_count_panes(wl->window) == 1) { + server_kill_window(wl->window); + recalculate_sizes(); } else { layout_close_pane(wp); window_remove_pane(wl->window, wp); + server_redraw_window(wl->window); } - server_redraw_window(wl->window); - return (CMD_RETURN_NORMAL); } -- cgit v1.2.3