mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:44:18 +00:00 
			
		
		
		
	Include prefix on ids, from George Nachman.
This commit is contained in:
		@@ -46,8 +46,12 @@ control_notify_input(struct client *c, struct window_pane *wp,
 | 
				
			|||||||
	if (winlink_find_by_window(&c->session->windows, wp->window) != NULL) {
 | 
						if (winlink_find_by_window(&c->session->windows, wp->window) != NULL) {
 | 
				
			||||||
		message = evbuffer_new();
 | 
							message = evbuffer_new();
 | 
				
			||||||
		evbuffer_add_printf(message, "%%output %%%u ", wp->id);
 | 
							evbuffer_add_printf(message, "%%output %%%u ", wp->id);
 | 
				
			||||||
		for (i = 0; i < len; i++)
 | 
							for (i = 0; i < len; i++) {
 | 
				
			||||||
			evbuffer_add_printf(message, "%02hhx", buf[i]);
 | 
								if (buf[i] < ' ' || buf[i] == '\\')
 | 
				
			||||||
 | 
								    evbuffer_add_printf(message, "\\%03o", buf[i]);
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
								    evbuffer_add_printf(message, "%c", buf[i]);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		control_write_buffer(c, message);
 | 
							control_write_buffer(c, message);
 | 
				
			||||||
		evbuffer_free(message);
 | 
							evbuffer_free(message);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -104,7 +108,7 @@ control_notify_window_unlinked(unused struct session *s, struct window *w)
 | 
				
			|||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		cs = c->session;
 | 
							cs = c->session;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		control_write(c, "%%window-close %u", w->id);
 | 
							control_write(c, "%%window-close @%u", w->id);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -122,9 +126,9 @@ control_notify_window_linked(unused struct session *s, struct window *w)
 | 
				
			|||||||
		cs = c->session;
 | 
							cs = c->session;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (winlink_find_by_window_id(&cs->windows, w->id) != NULL)
 | 
							if (winlink_find_by_window_id(&cs->windows, w->id) != NULL)
 | 
				
			||||||
			control_write(c, "%%window-add %u", w->id);
 | 
								control_write(c, "%%window-add @%u", w->id);
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			control_write(c, "%%unlinked-window-add %u", w->id);
 | 
								control_write(c, "%%unlinked-window-add @%u", w->id);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -141,7 +145,7 @@ control_notify_window_renamed(struct window *w)
 | 
				
			|||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		s = c->session;
 | 
							s = c->session;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                control_write(c, "%%window-renamed %u %s", w->id, w->name);
 | 
							control_write(c, "%%window-renamed @%u %s", w->id, w->name);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -154,7 +158,7 @@ control_notify_attached_session_changed(struct client *c)
 | 
				
			|||||||
		return;
 | 
							return;
 | 
				
			||||||
	s = c->session;
 | 
						s = c->session;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	control_write(c, "%%session-changed %d %s", s->id, s->name);
 | 
						control_write(c, "%%session-changed $%u %s", s->id, s->name);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
@@ -165,10 +169,10 @@ control_notify_session_renamed(struct session *s)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
 | 
						for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
 | 
				
			||||||
		c = ARRAY_ITEM(&clients, i);
 | 
							c = ARRAY_ITEM(&clients, i);
 | 
				
			||||||
		if (!CONTROL_SHOULD_NOTIFY_CLIENT(c) || c->session != s)
 | 
							if (!CONTROL_SHOULD_NOTIFY_CLIENT(c))
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		control_write(c, "%%session-renamed %s", s->name);
 | 
							control_write(c, "%%session-renamed $%u %s", s->id, s->name);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -180,7 +184,7 @@ control_notify_session_created(unused struct session *s)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
 | 
						for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
 | 
				
			||||||
		c = ARRAY_ITEM(&clients, i);
 | 
							c = ARRAY_ITEM(&clients, i);
 | 
				
			||||||
		if (!CONTROL_SHOULD_NOTIFY_CLIENT(c) || c->session == NULL)
 | 
							if (!CONTROL_SHOULD_NOTIFY_CLIENT(c))
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		control_write(c, "%%sessions-changed");
 | 
							control_write(c, "%%sessions-changed");
 | 
				
			||||||
@@ -195,7 +199,7 @@ control_notify_session_close(unused struct session *s)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
 | 
						for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
 | 
				
			||||||
		c = ARRAY_ITEM(&clients, i);
 | 
							c = ARRAY_ITEM(&clients, i);
 | 
				
			||||||
		if (!CONTROL_SHOULD_NOTIFY_CLIENT(c) || c->session == NULL)
 | 
							if (!CONTROL_SHOULD_NOTIFY_CLIENT(c))
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		control_write(c, "%%sessions-changed");
 | 
							control_write(c, "%%sessions-changed");
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								format.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								format.c
									
									
									
									
									
								
							@@ -280,7 +280,7 @@ format_session(struct format_tree *ft, struct session *s)
 | 
				
			|||||||
	format_add(ft, "session_windows", "%u", winlink_count(&s->windows));
 | 
						format_add(ft, "session_windows", "%u", winlink_count(&s->windows));
 | 
				
			||||||
	format_add(ft, "session_width", "%u", s->sx);
 | 
						format_add(ft, "session_width", "%u", s->sx);
 | 
				
			||||||
	format_add(ft, "session_height", "%u", s->sy);
 | 
						format_add(ft, "session_height", "%u", s->sy);
 | 
				
			||||||
	format_add(ft, "session_id", "%u", s->id);
 | 
						format_add(ft, "session_id", "$%u", s->id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sg = session_group_find(s);
 | 
						sg = session_group_find(s);
 | 
				
			||||||
	format_add(ft, "session_grouped", "%d", sg != NULL);
 | 
						format_add(ft, "session_grouped", "%d", sg != NULL);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user