Now that copy mode copies the pane content rather than keeping a

reference to it, it isn't necessary that the pane in copy mode is the
same as the one copying from. Add a -s flag to copy-mode to specify a
different pane for the source content. This means it is possible to view
two places in a pane's history at the same time in different panes, or
copy from a pane's history into an editor or shell in the same pane.

From Anindya Mukherjee.
This commit is contained in:
nicm
2020-04-10 07:44:26 +00:00
parent a1fc8f8b23
commit c0602f357d
10 changed files with 59 additions and 37 deletions

View File

@ -1067,8 +1067,9 @@ window_pane_get_palette(struct window_pane *wp, int c)
}
int
window_pane_set_mode(struct window_pane *wp, const struct window_mode *mode,
struct cmd_find_state *fs, struct args *args)
window_pane_set_mode(struct window_pane *wp, struct window_pane *swp,
const struct window_mode *mode, struct cmd_find_state *fs,
struct args *args)
{
struct window_mode_entry *wme;
@ -1085,6 +1086,7 @@ window_pane_set_mode(struct window_pane *wp, const struct window_mode *mode,
} else {
wme = xcalloc(1, sizeof *wme);
wme->wp = wp;
wme->swp = swp;
wme->mode = mode;
wme->prefix = 1;
TAILQ_INSERT_HEAD(&wp->modes, wme, entry);