mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	- New command display-message (alias display) to display a message in the
status line (bound to "i" and displays the current window and time by default). The same substitutions are applied as for status-left/right. - Add support for including the window index (#I), pane index (#P) and window name (#W) in the message, and status-left or status-right. - Bump protocol version. From Tiago Cunha, thanks!
This commit is contained in:
		
							
								
								
									
										21
									
								
								status.c
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								status.c
									
									
									
									
									
								
							@@ -29,7 +29,6 @@
 | 
			
		||||
 | 
			
		||||
#include "tmux.h"
 | 
			
		||||
 | 
			
		||||
char   *status_replace(struct session *, char *, time_t);
 | 
			
		||||
char   *status_replace_popen(char **);
 | 
			
		||||
size_t	status_width(struct winlink *);
 | 
			
		||||
char   *status_print(struct session *, struct winlink *, struct grid_cell *);
 | 
			
		||||
@@ -275,7 +274,7 @@ out:
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
char *
 | 
			
		||||
status_replace(struct session *s, char *fmt, time_t t)
 | 
			
		||||
status_replace(struct session *s, const char *fmt, time_t t)
 | 
			
		||||
{
 | 
			
		||||
	struct winlink *wl = s->curw;
 | 
			
		||||
	static char	out[BUFSIZ];
 | 
			
		||||
@@ -323,6 +322,20 @@ status_replace(struct session *s, char *fmt, time_t t)
 | 
			
		||||
					ptr = tmp;
 | 
			
		||||
				}
 | 
			
		||||
				/* FALLTHROUGH */
 | 
			
		||||
			case 'I':
 | 
			
		||||
				if (ptr == NULL) {
 | 
			
		||||
					xsnprintf(tmp, sizeof tmp, "%d", wl->idx);
 | 
			
		||||
					ptr = tmp;
 | 
			
		||||
				}
 | 
			
		||||
				/* FALLTHROUGH */
 | 
			
		||||
			case 'P':
 | 
			
		||||
				if (ptr == NULL) {
 | 
			
		||||
					xsnprintf(tmp, sizeof tmp, "%u",
 | 
			
		||||
						  window_pane_index(wl->window,
 | 
			
		||||
						  wl->window->active));
 | 
			
		||||
					ptr = tmp;
 | 
			
		||||
				}
 | 
			
		||||
				/* FALLTHOUGH */
 | 
			
		||||
			case 'S':
 | 
			
		||||
				if (ptr == NULL)
 | 
			
		||||
					ptr = s->name;
 | 
			
		||||
@@ -330,6 +343,10 @@ status_replace(struct session *s, char *fmt, time_t t)
 | 
			
		||||
			case 'T':
 | 
			
		||||
				if (ptr == NULL)
 | 
			
		||||
					ptr = wl->window->active->base.title;
 | 
			
		||||
				/* FALLTHROUGH */
 | 
			
		||||
			case 'W':
 | 
			
		||||
				if (ptr == NULL)
 | 
			
		||||
					ptr = wl->window->name;
 | 
			
		||||
				len = strlen(ptr);
 | 
			
		||||
				if ((size_t) n < len)
 | 
			
		||||
					len = n;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user