diff options
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 19 |
1 files changed, 14 insertions, 5 deletions
@@ -1286,15 +1286,24 @@ window_pane_key(struct window_pane *wp, struct client *c, struct session *s, return; if (options_get_number(wp->window->options, "synchronize-panes")) { TAILQ_FOREACH(wp2, &wp->window->panes, entry) { - if (wp2 == wp || wp2->mode != NULL) - continue; - if (wp2->fd == -1 || wp2->flags & PANE_INPUTOFF) - continue; - input_key(wp2, key, NULL); + if (wp2 != wp && + wp2->mode == NULL && + wp2->fd != -1 && + (~wp2->flags & PANE_INPUTOFF) && + window_pane_visible(wp2)) + input_key(wp2, key, NULL); } } } +int +window_pane_visible(struct window_pane *wp) +{ + if (~wp->window->flags & WINDOW_ZOOMED) + return (1); + return (wp == wp->window->active); +} + u_int window_pane_search(struct window_pane *wp, const char *searchstr) { |