version 1.42, 2017/02/03 11:57:27 |
version 1.43, 2017/03/08 13:36:12 |
|
|
cmd_break_pane_exec(struct cmd *self, struct cmdq_item *item) |
cmd_break_pane_exec(struct cmd *self, struct cmdq_item *item) |
{ |
{ |
struct args *args = self->args; |
struct args *args = self->args; |
|
struct client *c = item->state.c; |
struct winlink *wl = item->state.sflag.wl; |
struct winlink *wl = item->state.sflag.wl; |
struct session *src_s = item->state.sflag.s; |
struct session *src_s = item->state.sflag.s; |
struct session *dst_s = item->state.tflag.s; |
struct session *dst_s = item->state.tflag.s; |
|
|
struct window *w = wl->window; |
struct window *w = wl->window; |
char *name, *cause; |
char *name, *cause; |
int idx = item->state.tflag.idx; |
int idx = item->state.tflag.idx; |
struct format_tree *ft; |
|
const char *template; |
const char *template; |
char *cp; |
char *cp; |
|
|
|
|
if (args_has(args, 'P')) { |
if (args_has(args, 'P')) { |
if ((template = args_get(args, 'F')) == NULL) |
if ((template = args_get(args, 'F')) == NULL) |
template = BREAK_PANE_TEMPLATE; |
template = BREAK_PANE_TEMPLATE; |
|
cp = format_single(item, template, c, dst_s, wl, wp); |
ft = format_create(item, FORMAT_NONE, 0); |
|
format_defaults(ft, item->state.c, dst_s, wl, wp); |
|
|
|
cp = format_expand(ft, template); |
|
cmdq_print(item, "%s", cp); |
cmdq_print(item, "%s", cp); |
free(cp); |
free(cp); |
|
|
format_free(ft); |
|
} |
} |
return (CMD_RETURN_NORMAL); |
return (CMD_RETURN_NORMAL); |
} |
} |