mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 21:56:57 +00:00
Sync OpenBSD patchset 367:
Add a simple synchronize-panes window option: when set, all input to any pane that is part of the window is also sent to all other panes in the same window. Suggested by several, most recently Tomasz Pajor.
This commit is contained in:
18
window.c
18
window.c
@ -1,4 +1,4 @@
|
||||
/* $Id: window.c,v 1.109 2009-09-23 16:09:12 nicm Exp $ */
|
||||
/* $Id: window.c,v 1.110 2009-10-09 13:07:04 tcunha Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -617,14 +617,26 @@ window_pane_parse(struct window_pane *wp)
|
||||
void
|
||||
window_pane_key(struct window_pane *wp, struct client *c, int key)
|
||||
{
|
||||
struct window_pane *wp2;
|
||||
|
||||
if (wp->fd == -1 || !window_pane_visible(wp))
|
||||
return;
|
||||
|
||||
if (wp->mode != NULL) {
|
||||
if (wp->mode->key != NULL)
|
||||
wp->mode->key(wp, c, key);
|
||||
} else
|
||||
input_key(wp, key);
|
||||
return;
|
||||
}
|
||||
|
||||
input_key(wp, key);
|
||||
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 && window_pane_visible(wp2))
|
||||
input_key(wp2, key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user