diff options
author | nicm <nicm> | 2017-01-14 18:53:08 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-01-14 18:53:08 +0000 |
commit | e06efab9da1f4edb3cb631dc752d7786d5edb5cf (patch) | |
tree | 07358e253457a631c7fad217265c51f39cb82bd0 /cmd-kill-pane.c | |
parent | 08d21936e4559a92174361d7785ca3e967972edb (diff) | |
download | rtmux-e06efab9da1f4edb3cb631dc752d7786d5edb5cf.tar.gz rtmux-e06efab9da1f4edb3cb631dc752d7786d5edb5cf.tar.bz2 rtmux-e06efab9da1f4edb3cb631dc752d7786d5edb5cf.zip |
killp -a should not kill the window if only one pane.
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); } |