mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 13:37:12 +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:
@ -32,7 +32,18 @@ struct key_bindings dead_key_bindings;
|
||||
int
|
||||
key_bindings_cmp(struct key_binding *bd1, struct key_binding *bd2)
|
||||
{
|
||||
return (bd1->key - bd2->key);
|
||||
int key1, key2;
|
||||
|
||||
key1 = bd1->key & ~KEYC_PREFIX;
|
||||
key2 = bd2->key & ~KEYC_PREFIX;
|
||||
if (key1 != key2)
|
||||
return (key1 - key2);
|
||||
|
||||
if (bd1->key & KEYC_PREFIX && !(bd2->key & KEYC_PREFIX))
|
||||
return (-1);
|
||||
if (bd2->key & KEYC_PREFIX && !(bd1->key & KEYC_PREFIX))
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
struct key_binding *
|
||||
@ -170,7 +181,8 @@ key_bindings_init(void)
|
||||
cmd->entry->init(cmd, table[i].key);
|
||||
TAILQ_INSERT_HEAD(cmdlist, cmd, qentry);
|
||||
|
||||
key_bindings_add(table[i].key, table[i].can_repeat, cmdlist);
|
||||
key_bindings_add(
|
||||
table[i].key | KEYC_PREFIX, table[i].can_repeat, cmdlist);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user