aboutsummaryrefslogtreecommitdiff
path: root/window.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2018-09-10 07:19:17 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2018-09-10 07:19:17 +0100
commita618271e1287c90653cdda4442868c2d4e94de49 (patch)
tree31fc022aefc2f1317378fc508937d5feb07dc363 /window.c
parent8598fd1bc5a4295abf7c720d4bbb7a6e980fbd47 (diff)
downloadrtmux-a618271e1287c90653cdda4442868c2d4e94de49.tar.gz
rtmux-a618271e1287c90653cdda4442868c2d4e94de49.tar.bz2
rtmux-a618271e1287c90653cdda4442868c2d4e94de49.zip
Bring back window_pane_visible to stop input going to panes which are
hidden by zoom.
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)
{