diff options
author | nicm <nicm> | 2019-08-14 09:58:31 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-08-14 09:58:31 +0000 |
commit | 0f243f03882671f19d35c9bd2decfc94919979fa (patch) | |
tree | 05436a488884f13a8c8b9910983a497580ac3c90 /window.c | |
parent | 45f4ff54850ff9b448070a96b33e63451f973e33 (diff) | |
download | rtmux-0f243f03882671f19d35c9bd2decfc94919979fa.tar.gz rtmux-0f243f03882671f19d35c9bd2decfc94919979fa.tar.bz2 rtmux-0f243f03882671f19d35c9bd2decfc94919979fa.zip |
Add -Z flag to rotate-window, select-pane, swap-pane, switch-client to
preserve zoomed state. GitHub issue 1839.
Diffstat (limited to 'window.c')
-rw-r--r-- | window.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -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) |