aboutsummaryrefslogtreecommitdiff
path: root/status.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2020-07-27 10:01:21 +0100
committerThomas Adam <thomas@xteddy.org>2020-07-27 10:01:21 +0100
commit2fdd5fa507c0698b92f401a5e7d8cc1e7118775e (patch)
tree8c3cb31a0f8828272f8c8946ca017f915edd7041 /status.c
parent90158b59770cbc1e639dda229c98b1781bbf9619 (diff)
parent40e65c511502fe47932e230290537e7391ab8a83 (diff)
downloadrtmux-2fdd5fa507c0698b92f401a5e7d8cc1e7118775e.tar.gz
rtmux-2fdd5fa507c0698b92f401a5e7d8cc1e7118775e.tar.bz2
rtmux-2fdd5fa507c0698b92f401a5e7d8cc1e7118775e.zip
Merge branch 'obsd-master'
Diffstat (limited to 'status.c')
-rw-r--r--status.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/status.c b/status.c
index 7313d2a0..668c0a3b 100644
--- a/status.c
+++ b/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);
}