version 1.246, 2019/12/12 11:39:56 |
version 1.247, 2020/01/13 07:51:55 |
|
|
window_pane_reset_mode(wp); |
window_pane_reset_mode(wp); |
} |
} |
|
|
void |
int |
window_pane_key(struct window_pane *wp, struct client *c, struct session *s, |
window_pane_key(struct window_pane *wp, struct client *c, struct session *s, |
struct winlink *wl, key_code key, struct mouse_event *m) |
struct winlink *wl, key_code key, struct mouse_event *m) |
{ |
{ |
|
|
struct window_pane *wp2; |
struct window_pane *wp2; |
|
|
if (KEYC_IS_MOUSE(key) && m == NULL) |
if (KEYC_IS_MOUSE(key) && m == NULL) |
return; |
return (-1); |
|
|
wme = TAILQ_FIRST(&wp->modes); |
wme = TAILQ_FIRST(&wp->modes); |
if (wme != NULL) { |
if (wme != NULL) { |
wp->modelast = time(NULL); |
wp->modelast = time(NULL); |
if (wme->mode->key != NULL) |
if (wme->mode->key != NULL) |
wme->mode->key(wme, c, s, wl, (key & ~KEYC_XTERM), m); |
wme->mode->key(wme, c, s, wl, (key & ~KEYC_XTERM), m); |
return; |
return (0); |
} |
} |
|
|
if (wp->fd == -1 || wp->flags & PANE_INPUTOFF) |
if (wp->fd == -1 || wp->flags & PANE_INPUTOFF) |
return; |
return (0); |
|
|
input_key(wp, key, m); |
if (input_key(wp, key, m) != 0) |
|
return (-1); |
|
|
if (KEYC_IS_MOUSE(key)) |
if (KEYC_IS_MOUSE(key)) |
return; |
return (0); |
if (options_get_number(wp->window->options, "synchronize-panes")) { |
if (options_get_number(wp->window->options, "synchronize-panes")) { |
TAILQ_FOREACH(wp2, &wp->window->panes, entry) { |
TAILQ_FOREACH(wp2, &wp->window->panes, entry) { |
if (wp2 != wp && |
if (wp2 != wp && |
|
|
input_key(wp2, key, NULL); |
input_key(wp2, key, NULL); |
} |
} |
} |
} |
|
return (0); |
} |
} |
|
|
int |
int |