summaryrefslogtreecommitdiffstats
path: root/window.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-08-15 11:02:48 +0100
committerThomas Adam <thomas@xteddy.org>2019-08-15 11:02:48 +0100
commited0f2831b470e7f9025793a3228805991e9cff61 (patch)
treef42594a8177df0a4ad652108f9f42a71887e2baa /window.c
parent9b3fefc43529666b1f6adc5efc89f6a5f127f274 (diff)
parent21fae500897fcc3fa1bf561a2da3c439f5b5897b (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'window.c')
-rw-r--r--window.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/window.c b/window.c
index 409f1df5..e003decd 100644
--- a/window.c
+++ b/window.c
@@ -585,6 +585,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)