aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--resize.c6
-rw-r--r--tmux.h13
2 files changed, 14 insertions, 5 deletions
diff --git a/resize.c b/resize.c
index 40a1a016..fc761f34 100644
--- a/resize.c
+++ b/resize.c
@@ -79,6 +79,8 @@ default_window_size(struct session *s, struct window *w, u_int *sx, u_int *sy,
TAILQ_FOREACH(c, &clients, entry) {
if (c->session == NULL)
continue;
+ if (c->flags & CLIENT_NOSIZEFLAGS)
+ continue;
if (w != NULL && !session_has(c->session, w))
continue;
if (w == NULL && c->session != s)
@@ -99,6 +101,8 @@ default_window_size(struct session *s, struct window *w, u_int *sx, u_int *sy,
TAILQ_FOREACH(c, &clients, entry) {
if (c->session == NULL)
continue;
+ if (c->flags & CLIENT_NOSIZEFLAGS)
+ continue;
if (w != NULL && !session_has(c->session, w))
continue;
if (w == NULL && c->session != s)
@@ -209,7 +213,7 @@ recalculate_sizes(void)
}
if (sx == 0 || sy == 0)
changed = 0;
- } else if (type == WINDOW_SIZE_SMALLEST) {
+ } else {
sx = sy = UINT_MAX;
TAILQ_FOREACH(c, &clients, entry) {
if ((s = c->session) == NULL)
diff --git a/tmux.h b/tmux.h
index 6c5d4402..7378927a 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1357,11 +1357,16 @@ struct client {
#define CLIENT_SIZECHANGED 0x400000
#define CLIENT_STATUSOFF 0x800000
#define CLIENT_REDRAWSTATUSALWAYS 0x1000000
-#define CLIENT_ALLREDRAWFLAGS \
- (CLIENT_REDRAWWINDOW| \
- CLIENT_REDRAWSTATUS| \
- CLIENT_REDRAWSTATUSALWAYS| \
+#define CLIENT_ALLREDRAWFLAGS \
+ (CLIENT_REDRAWWINDOW| \
+ CLIENT_REDRAWSTATUS| \
+ CLIENT_REDRAWSTATUSALWAYS| \
CLIENT_REDRAWBORDERS)
+#define CLIENT_NOSIZEFLAGS \
+ (CLIENT_EXIT| \
+ CLIENT_DEAD| \
+ CLIENT_SUSPENDED| \
+ CLIENT_DETACHING)
int flags;
struct key_table *keytable;