Add -Z flag to rotate-window, select-pane, swap-pane, switch-client to

preserve zoomed state. GitHub issue 1839.
This commit is contained in:
nicm
2019-08-14 09:58:31 +00:00
parent 45f4ff5485
commit 0f243f0388
7 changed files with 101 additions and 41 deletions

View File

@ -587,6 +587,28 @@ window_unzoom(struct window *w)
return (0);
}
int
window_push_zoom(struct window *w, int flag)
{
log_debug("%s: @%u %d", __func__, w->id,
flag && (w->flags & WINDOW_ZOOMED));
if (flag && (w->flags & WINDOW_ZOOMED))
w->flags |= WINDOW_WASZOOMED;
else
w->flags &= ~WINDOW_WASZOOMED;
return (window_unzoom(w) == 0);
}
int
window_pop_zoom(struct window *w)
{
log_debug("%s: @%u %d", __func__, w->id,
!!(w->flags & WINDOW_WASZOOMED));
if (w->flags & WINDOW_WASZOOMED)
return (window_zoom(w->active) == 0);
return (0);
}
struct window_pane *
window_add_pane(struct window *w, struct window_pane *other, u_int hlimit,
int flags)