diff options
Diffstat (limited to 'cmd-split-window.c')
-rw-r--r-- | cmd-split-window.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/cmd-split-window.c b/cmd-split-window.c index 38b1f937..af2b5ca4 100644 --- a/cmd-split-window.c +++ b/cmd-split-window.c @@ -43,7 +43,7 @@ const struct cmd_entry cmd_split_window_entry = { .usage = "[-bdfhvP] [-c start-directory] [-F format] " "[-p percentage|-l size] " CMD_TARGET_PANE_USAGE " [command]", - .tflag = CMD_PANE, + .target = { 't', CMD_FIND_PANE, 0 }, .flags = 0, .exec = cmd_split_window_exec @@ -52,12 +52,13 @@ const struct cmd_entry cmd_split_window_entry = { static enum cmd_retval cmd_split_window_exec(struct cmd *self, struct cmdq_item *item) { + struct cmd_find_state *current = &item->shared->current; struct args *args = self->args; - struct client *c = item->state.c; - struct session *s = item->state.tflag.s; - struct winlink *wl = item->state.tflag.wl; + struct client *c = cmd_find_client(item, NULL, 1); + struct session *s = item->target.s; + struct winlink *wl = item->target.wl; struct window *w = wl->window; - struct window_pane *wp = item->state.tflag.wp, *new_wp = NULL; + struct window_pane *wp = item->target.wp, *new_wp = NULL; struct environ *env; const char *cmd, *path, *shell, *template, *cwd, *to_free; char **argv, *cause, *new_cause, *cp; @@ -155,6 +156,7 @@ cmd_split_window_exec(struct cmd *self, struct cmdq_item *item) if (!args_has(args, 'd')) { window_set_active_pane(w, new_wp); session_select(s, wl->idx); + cmd_find_from_session(current, s); server_redraw_session(s); } else server_status_session(s); |