mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +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