version 1.217, 2020/06/11 10:56:19 |
version 1.218, 2020/07/27 08:03:10 |
|
|
|
|
/* Set a status line message. */ |
/* Set a status line message. */ |
void |
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; |
struct timeval tv; |
va_list ap; |
va_list ap; |
int delay; |
|
|
|
status_message_clear(c); |
status_message_clear(c); |
status_push_screen(c); |
status_push_screen(c); |
|
|
|
|
server_add_message("%s message: %s", c->name, c->message_string); |
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) { |
if (delay > 0) { |
tv.tv_sec = delay / 1000; |
tv.tv_sec = delay / 1000; |
tv.tv_usec = (delay % 1000) * 1000L; |
tv.tv_usec = (delay % 1000) * 1000L; |
|
|
if (event_initialized(&c->message_timer)) |
if (event_initialized(&c->message_timer)) |
evtimer_del(&c->message_timer); |
evtimer_del(&c->message_timer); |
evtimer_set(&c->message_timer, status_message_callback, c); |
evtimer_set(&c->message_timer, status_message_callback, c); |
|
|
evtimer_add(&c->message_timer, &tv); |
evtimer_add(&c->message_timer, &tv); |
} |
} |
|
|