From 3f4418d84dd8865f1bba410fc796acb53277abbf Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Wed, 19 Aug 2009 10:39:50 +0000 Subject: Extend command-prompt with a -p option which is a comma-separated list of one or more prompts to present in order. The responses to the prompt are replaced in the template string: %% are replaced in order, so the first prompt replaces the first %%, the second replaces the second, and so on. In addition, %1 up to %9 are replaced with the responses to the first the ninth prompts The default template is "%1" so the response to the first prompt is processed as a command. Note that this changes the behaviour for %% so if there is only one prompt, only the first %% will be replaced. Templates such as "neww -n '%%' 'ssh %%'" should be changed to "neww -n '%1' 'ssh %1'". From Tiago Cunha. --- status.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'status.c') diff --git a/status.c b/status.c index d700f2c7..b4f23702 100644 --- a/status.c +++ b/status.c @@ -668,6 +668,20 @@ status_prompt_clear(struct client *c) screen_reinit(&c->status); } +void +status_prompt_update(struct client *c, const char *msg) +{ + xfree(c->prompt_string); + c->prompt_string = xstrdup(msg); + + *c->prompt_buffer = '\0'; + c->prompt_index = 0; + + c->prompt_hindex = 0; + + c->flags |= CLIENT_STATUS; +} + /* Draw client prompt on status line of present else on last line. */ int status_prompt_redraw(struct client *c) -- cgit