diff options
Diffstat (limited to 'cmd-kill-pane.c')
-rw-r--r-- | cmd-kill-pane.c | 16 |
1 files changed, 7 insertions, 9 deletions
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); } |