mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +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:
		@@ -39,7 +39,7 @@ struct cmd_bind_key_data {
 | 
			
		||||
 | 
			
		||||
const struct cmd_entry cmd_bind_key_entry = {
 | 
			
		||||
	"bind-key", "bind",
 | 
			
		||||
	"[-r] key command [arguments]",
 | 
			
		||||
	"[-nr] key command [arguments]",
 | 
			
		||||
	0, 0,
 | 
			
		||||
	NULL,
 | 
			
		||||
	cmd_bind_key_parse,
 | 
			
		||||
@@ -54,14 +54,17 @@ int
 | 
			
		||||
cmd_bind_key_parse(struct cmd *self, int argc, char **argv, char **cause)
 | 
			
		||||
{
 | 
			
		||||
	struct cmd_bind_key_data	*data;
 | 
			
		||||
	int				 opt;
 | 
			
		||||
	int				 opt, no_prefix = 0;
 | 
			
		||||
 | 
			
		||||
	self->data = data = xmalloc(sizeof *data);
 | 
			
		||||
	data->can_repeat = 0;
 | 
			
		||||
	data->cmdlist = NULL;
 | 
			
		||||
 | 
			
		||||
	while ((opt = getopt(argc, argv, "r")) != -1) {
 | 
			
		||||
	while ((opt = getopt(argc, argv, "nr")) != -1) {
 | 
			
		||||
		switch (opt) {
 | 
			
		||||
		case 'n':
 | 
			
		||||
			no_prefix = 1;
 | 
			
		||||
			break;
 | 
			
		||||
		case 'r':
 | 
			
		||||
			data->can_repeat = 1;
 | 
			
		||||
			break;
 | 
			
		||||
@@ -78,6 +81,8 @@ cmd_bind_key_parse(struct cmd *self, int argc, char **argv, char **cause)
 | 
			
		||||
		xasprintf(cause, "unknown key: %s", argv[0]);
 | 
			
		||||
		goto error;
 | 
			
		||||
	}
 | 
			
		||||
	if (!no_prefix)
 | 
			
		||||
		data->key |= KEYC_PREFIX;
 | 
			
		||||
 | 
			
		||||
	argc--;
 | 
			
		||||
	argv++;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user