mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Tweak previous slightly so that current session is chosen if it is in
the group rather than first.
This commit is contained in:
		
							
								
								
									
										5
									
								
								format.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								format.c
									
									
									
									
									
								
							@@ -795,8 +795,11 @@ format_find(struct format_tree *ft, const char *key, int modifiers)
 | 
			
		||||
			found = s;
 | 
			
		||||
			goto found;
 | 
			
		||||
		}
 | 
			
		||||
		if (fe->value == NULL && fe->cb != NULL)
 | 
			
		||||
		if (fe->value == NULL && fe->cb != NULL) {
 | 
			
		||||
			fe->cb(ft, fe);
 | 
			
		||||
			if (fe->value == NULL)
 | 
			
		||||
				fe->value = xstrdup("");
 | 
			
		||||
		}
 | 
			
		||||
		found = fe->value;
 | 
			
		||||
		goto found;
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -399,9 +399,11 @@ window_tree_build(void *modedata, u_int sort_type, uint64_t *tag,
 | 
			
		||||
{
 | 
			
		||||
	struct window_tree_modedata	*data = modedata;
 | 
			
		||||
	struct session			*s, **l;
 | 
			
		||||
	struct session_group		*sg;
 | 
			
		||||
	struct session_group		*sg, *current;
 | 
			
		||||
	u_int				 n, i;
 | 
			
		||||
 | 
			
		||||
	current = session_group_contains(data->fs.s);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < data->item_size; i++)
 | 
			
		||||
		window_tree_free_item(data->item_list[i]);
 | 
			
		||||
	free(data->item_list);
 | 
			
		||||
@@ -412,9 +414,11 @@ window_tree_build(void *modedata, u_int sort_type, uint64_t *tag,
 | 
			
		||||
	n = 0;
 | 
			
		||||
	RB_FOREACH(s, sessions, &sessions) {
 | 
			
		||||
		if (data->squash_groups &&
 | 
			
		||||
		    (sg = session_group_contains(s)) != NULL &&
 | 
			
		||||
		    s != TAILQ_FIRST(&sg->sessions))
 | 
			
		||||
			continue;
 | 
			
		||||
		    (sg = session_group_contains(s)) != NULL) {
 | 
			
		||||
			if ((sg == current && s != data->fs.s) ||
 | 
			
		||||
			    (sg != current && s != TAILQ_FIRST(&sg->sessions)))
 | 
			
		||||
				continue;
 | 
			
		||||
		}
 | 
			
		||||
		l = xreallocarray(l, n + 1, sizeof *l);
 | 
			
		||||
		l[n++] = s;
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user