aboutsummaryrefslogtreecommitdiff
path: root/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'window.c')
-rw-r--r--window.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/window.c b/window.c
index cf29ae48..aabfbdf1 100644
--- a/window.c
+++ b/window.c
@@ -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)
{