mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 21:56:57 +00:00
Sync OpenBSD patchset 175:
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:
13
server.c
13
server.c
@ -1,4 +1,4 @@
|
||||
/* $Id: server.c,v 1.162 2009-07-22 17:46:53 tcunha Exp $ */
|
||||
/* $Id: server.c,v 1.163 2009-07-25 08:52:04 tcunha Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -807,14 +807,19 @@ server_handle_client(struct client *c)
|
||||
if (!(c->flags & CLIENT_PREFIX)) {
|
||||
if (key == prefix)
|
||||
c->flags |= CLIENT_PREFIX;
|
||||
else
|
||||
window_pane_key(wp, c, key);
|
||||
else {
|
||||
/* Try as a non-prefix key binding. */
|
||||
if ((bd = key_bindings_lookup(key)) == NULL)
|
||||
window_pane_key(wp, c, key);
|
||||
else
|
||||
key_bindings_dispatch(bd, c);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Prefix key already pressed. Reset prefix and lookup key. */
|
||||
c->flags &= ~CLIENT_PREFIX;
|
||||
if ((bd = key_bindings_lookup(key)) == NULL) {
|
||||
if ((bd = key_bindings_lookup(key | KEYC_PREFIX)) == NULL) {
|
||||
/* If repeating, treat this as a key, else ignore. */
|
||||
if (c->flags & CLIENT_REPEAT) {
|
||||
c->flags &= ~CLIENT_REPEAT;
|
||||
|
Reference in New Issue
Block a user