diff options
Diffstat (limited to 'cmd-choose-client.c')
-rw-r--r-- | cmd-choose-client.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/cmd-choose-client.c b/cmd-choose-client.c index cd5ab9ea..ac766ab5 100644 --- a/cmd-choose-client.c +++ b/cmd-choose-client.c @@ -33,13 +33,12 @@ void cmd_choose_client_free(void *); const struct cmd_entry cmd_choose_client_entry = { "choose-client", NULL, + "t:", 0, 1, CMD_TARGET_WINDOW_USAGE " [template]", - CMD_ARG01, "", - cmd_target_init, - cmd_target_parse, - cmd_choose_client_exec, - cmd_target_free, - cmd_target_print + 0, + NULL, + NULL, + cmd_choose_client_exec }; struct cmd_choose_client_data { @@ -50,7 +49,7 @@ struct cmd_choose_client_data { int cmd_choose_client_exec(struct cmd *self, struct cmd_ctx *ctx) { - struct cmd_target_data *data = self->data; + struct args *args = self->args; struct cmd_choose_client_data *cdata; struct winlink *wl; struct client *c; @@ -61,7 +60,7 @@ cmd_choose_client_exec(struct cmd *self, struct cmd_ctx *ctx) return (-1); } - if ((wl = cmd_find_window(ctx, data->target, NULL)) == NULL) + if ((wl = cmd_find_window(ctx, args_get(args, 't'), NULL)) == NULL) return (-1); if (window_pane_set_mode(wl->window->active, &window_choose_mode) != 0) @@ -83,8 +82,8 @@ cmd_choose_client_exec(struct cmd *self, struct cmd_ctx *ctx) } cdata = xmalloc(sizeof *cdata); - if (data->arg != NULL) - cdata->template = xstrdup(data->arg); + if (args->argc != 0) + cdata->template = xstrdup(args->argv[0]); else cdata->template = xstrdup("detach-client -t '%%'"); cdata->client = ctx->curclient; |