mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21: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