version 1.160, 2015/10/26 17:17:06 |
version 1.161, 2015/10/26 23:16:18 |
|
|
if (s == NULL || (c->flags & (CLIENT_DEAD|CLIENT_SUSPENDED)) != 0) |
if (s == NULL || (c->flags & (CLIENT_DEAD|CLIENT_SUSPENDED)) != 0) |
return; |
return; |
w = s->curw->window; |
w = s->curw->window; |
wp = w->active; |
|
|
|
/* Update the activity timer. */ |
/* Update the activity timer. */ |
if (gettimeofday(&c->activity_time, NULL) != 0) |
if (gettimeofday(&c->activity_time, NULL) != 0) |
|
|
m->valid = 1; |
m->valid = 1; |
m->key = key; |
m->key = key; |
|
|
if (!options_get_number(&s->options, "mouse")) { |
if (!options_get_number(&s->options, "mouse")) |
window_pane_key(wp, c, s, key, m); |
goto forward; |
return; |
|
} |
|
} else |
} else |
m->valid = 0; |
m->valid = 0; |
|
|
/* Treat everything as a regular key when pasting is detected. */ |
/* Treat everything as a regular key when pasting is detected. */ |
if (!KEYC_IS_MOUSE(key) && server_client_assume_paste(s)) { |
if (!KEYC_IS_MOUSE(key) && server_client_assume_paste(s)) |
if (!(c->flags & CLIENT_READONLY)) |
goto forward; |
window_pane_key(wp, c, s, key, m); |
|
return; |
|
} |
|
|
|
retry: |
retry: |
/* Try to see if there is a key binding in the current table. */ |
/* Try to see if there is a key binding in the current table. */ |
|
|
key == options_get_number(&s->options, "prefix2")) { |
key == options_get_number(&s->options, "prefix2")) { |
server_client_key_table(c, "prefix"); |
server_client_key_table(c, "prefix"); |
server_status_client(c); |
server_status_client(c); |
} else if (!(c->flags & CLIENT_READONLY)) |
return; |
|
} |
|
|
|
forward: |
|
if (c->flags & CLIENT_READONLY) |
|
return; |
|
if (KEYC_IS_MOUSE(key)) |
|
wp = cmd_mouse_pane(m, NULL, NULL); |
|
else |
|
wp = w->active; |
|
if (wp != NULL) |
window_pane_key(wp, c, s, key, m); |
window_pane_key(wp, c, s, key, m); |
} |
} |
|
|