mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-03 16:46:18 +00:00 
			
		
		
		
	Permit commands to be bound to key presses without the prefix key first. The
new -n flag to bind-key and unbind-key sets or removes these bindings, and list-key shows them in []s.
This commit is contained in:
		@@ -46,27 +46,33 @@ cmd_list_keys_exec(unused struct cmd *self, struct cmd_ctx *ctx)
 | 
			
		||||
{
 | 
			
		||||
	struct key_binding	*bd;
 | 
			
		||||
	const char		*key;
 | 
			
		||||
	char			 tmp[BUFSIZ];
 | 
			
		||||
	int		       	 width, keywidth;
 | 
			
		||||
	char			 tmp[BUFSIZ], keytmp[64];
 | 
			
		||||
	int			 width, keywidth;
 | 
			
		||||
 | 
			
		||||
	width = 0;
 | 
			
		||||
	SPLAY_FOREACH(bd, key_bindings, &key_bindings) {
 | 
			
		||||
		if ((key = key_string_lookup_key(bd->key)) == NULL)
 | 
			
		||||
		key = key_string_lookup_key(bd->key & ~KEYC_PREFIX);
 | 
			
		||||
		if (key == NULL)
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		keywidth = strlen(key) + 1;
 | 
			
		||||
		if (!(bd->key & KEYC_PREFIX))
 | 
			
		||||
			keywidth += 2;
 | 
			
		||||
		if (keywidth > width)
 | 
			
		||||
			width = keywidth;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	SPLAY_FOREACH(bd, key_bindings, &key_bindings) {
 | 
			
		||||
		if ((key = key_string_lookup_key(bd->key)) == NULL)
 | 
			
		||||
		key = key_string_lookup_key(bd->key & ~KEYC_PREFIX);
 | 
			
		||||
		if (key == NULL)
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
		*tmp = '\0';
 | 
			
		||||
		cmd_list_print(bd->cmdlist, tmp, sizeof tmp);
 | 
			
		||||
 | 
			
		||||
		if (!(bd->key & KEYC_PREFIX)) {
 | 
			
		||||
			xsnprintf(keytmp, sizeof keytmp, "[%s]", key);
 | 
			
		||||
			key = keytmp;
 | 
			
		||||
		}
 | 
			
		||||
		ctx->print(ctx, "%*s: %s", width, key, tmp);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user