mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 20:57:00 +00:00
Add a -d option to display-message to set delay, from theonekeyg at
gmail dot com in GitHub issue 2322.
This commit is contained in:
12
status.c
12
status.c
@ -423,11 +423,11 @@ status_redraw(struct client *c)
|
||||
|
||||
/* Set a status line message. */
|
||||
void
|
||||
status_message_set(struct client *c, int ignore_styles, const char *fmt, ...)
|
||||
status_message_set(struct client *c, int delay, int ignore_styles,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
struct timeval tv;
|
||||
va_list ap;
|
||||
int delay;
|
||||
|
||||
status_message_clear(c);
|
||||
status_push_screen(c);
|
||||
@ -439,7 +439,12 @@ status_message_set(struct client *c, int ignore_styles, const char *fmt, ...)
|
||||
|
||||
server_add_message("%s message: %s", c->name, c->message_string);
|
||||
|
||||
delay = options_get_number(c->session->options, "display-time");
|
||||
/*
|
||||
* With delay -1, the display-time option is used; zero means wait for
|
||||
* key press; more than zero is the actual delay time in milliseconds.
|
||||
*/
|
||||
if (delay == -1)
|
||||
delay = options_get_number(c->session->options, "display-time");
|
||||
if (delay > 0) {
|
||||
tv.tv_sec = delay / 1000;
|
||||
tv.tv_usec = (delay % 1000) * 1000L;
|
||||
@ -447,6 +452,7 @@ status_message_set(struct client *c, int ignore_styles, const char *fmt, ...)
|
||||
if (event_initialized(&c->message_timer))
|
||||
evtimer_del(&c->message_timer);
|
||||
evtimer_set(&c->message_timer, status_message_callback, c);
|
||||
|
||||
evtimer_add(&c->message_timer, &tv);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user