summaryrefslogtreecommitdiffstats
path: root/cmd-break-pane.c
diff options
context:
space:
mode:
authornicm <nicm>2017-01-29 22:10:55 +0000
committernicm <nicm>2017-01-29 22:10:55 +0000
commitb6099f31ead647749574c36b34619db940587fc7 (patch)
tree225c66a05f2437ebdf933dfb6c830e2f14df6c47 /cmd-break-pane.c
parent54309cc25d4bf9e144342179d815e459c88d6153 (diff)
Add -n to break-pane.
Diffstat (limited to 'cmd-break-pane.c')
-rw-r--r--cmd-break-pane.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/cmd-break-pane.c b/cmd-break-pane.c
index a5d4e148..c949fe8a 100644
--- a/cmd-break-pane.c
+++ b/cmd-break-pane.c
@@ -34,8 +34,8 @@ const struct cmd_entry cmd_break_pane_entry = {
.name = "break-pane",
.alias = "breakp",
- .args = { "dPF:s:t:", 0, 0 },
- .usage = "[-dP] [-F format] [-s src-pane] [-t dst-window]",
+ .args = { "dPF:n:s:t:", 0, 0 },
+ .usage = "[-dP] [-F format] [-n window-name] [-s src-pane] [-t dst-window]",
.sflag = CMD_PANE,
.tflag = CMD_WINDOW_INDEX,
@@ -53,8 +53,7 @@ cmd_break_pane_exec(struct cmd *self, struct cmdq_item *item)
struct session *dst_s = item->state.tflag.s;
struct window_pane *wp = item->state.sflag.wp;
struct window *w = wl->window;
- char *name;
- char *cause;
+ char *name, *cause;
int idx = item->state.tflag.idx;
struct format_tree *ft;
const char *template;
@@ -78,9 +77,16 @@ cmd_break_pane_exec(struct cmd *self, struct cmdq_item *item)
w = wp->window = window_create(dst_s->sx, dst_s->sy);
TAILQ_INSERT_HEAD(&w->panes, wp, entry);
w->active = wp;
- name = default_window_name(w);
- window_set_name(w, name);
- free(name);
+
+ if (!args_has(args, 'n')) {
+ name = default_window_name(w);
+ window_set_name(w, name);
+ free(name);
+ } else {
+ window_set_name(w, args_get(args, 'n'));
+ options_set_number(w->options, "automatic-rename", 0);
+ }
+
layout_init(w, wp);
wp->flags |= PANE_CHANGED;