diff options
author | Tiago Cunha <tcunha@gmx.com> | 2009-08-20 11:51:20 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2009-08-20 11:51:20 +0000 |
commit | 1292540bb53542ed66890d60f076cc401386b26d (patch) | |
tree | 5257dde309d9062d5555f24fae6779eec433a011 /status.c | |
parent | 4631c074836b5b75e8b170a460f53de8f5507096 (diff) | |
download | rtmux-1292540bb53542ed66890d60f076cc401386b26d.tar.gz rtmux-1292540bb53542ed66890d60f076cc401386b26d.tar.bz2 rtmux-1292540bb53542ed66890d60f076cc401386b26d.zip |
Sync OpenBSD patchset 276:
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.
Diffstat (limited to 'status.c')
-rw-r--r-- | status.c | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: status.c,v 1.111 2009-08-20 11:22:47 tcunha Exp $ */ +/* $Id: status.c,v 1.112 2009-08-20 11:51:20 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -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) |