summaryrefslogtreecommitdiffstats
path: root/cmd-set-window-option.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2008-06-06 20:02:27 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2008-06-06 20:02:27 +0000
commit367e002bc20d369c59e40ef1522a1f4aed63407c (patch)
tree8d126cebdd7627944250252c9cecf389ea128f44 /cmd-set-window-option.c
parent3cd4a08ffb4bcba0cfbb8a29574ff40d134dc186 (diff)
New flag: aggressize resize. Resize window when to size of smallest session for which it is _current_ window.
Diffstat (limited to 'cmd-set-window-option.c')
-rw-r--r--cmd-set-window-option.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/cmd-set-window-option.c b/cmd-set-window-option.c
index bed3d3aa..70fdeff6 100644
--- a/cmd-set-window-option.c
+++ b/cmd-set-window-option.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-set-window-option.c,v 1.5 2008-06-05 21:25:00 nicm Exp $ */
+/* $Id: cmd-set-window-option.c,v 1.6 2008-06-06 20:02:27 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -150,6 +150,22 @@ cmd_set_window_option_exec(struct cmd *self, struct cmd_ctx *ctx)
if (s != NULL)
session_alert_cancel(s, wl);
}
+ } else if (strcmp(data->option, "aggressive-resize") == 0) {
+ if (bool == -1) {
+ ctx->error(ctx, "bad value: %s", data->value);
+ return;
+ }
+
+ if (bool == -2)
+ wl->window->flags ^= WINDOW_AGGRESSIVE;
+ else {
+ if (bool)
+ wl->window->flags |= WINDOW_AGGRESSIVE;
+ else
+ wl->window->flags &= ~WINDOW_AGGRESSIVE;
+ }
+
+ recalculate_sizes();
} else {
ctx->error(ctx, "unknown option: %s", data->option);
return;