The branch, master has been updated via d1e8fb33dab9d2ed2888263d98da1e8d12a4e4e5 (commit) via 1e3a4f2331e681f6102cc6dd30249455849822ed (commit) from 2ac1d46f467c75b5caa43409b280bc123b5824d8 (commit)
- Log ----------------------------------------------------------------- commit d1e8fb33dab9d2ed2888263d98da1e8d12a4e4e5 Merge: 1e3a4f2 2ac1d46 Author: Nicholas Marriott <nicholas.marri...@gmail.com> Commit: Nicholas Marriott <nicholas.marri...@gmail.com> Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code tty-keys.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 1e3a4f2331e681f6102cc6dd30249455849822ed Author: Nicholas Marriott <nicholas.marri...@gmail.com> Commit: Nicholas Marriott <nicholas.marri...@gmail.com> Do not include status line in size calculations in control mode. --- resize.c | 29 ++++++++++++++++------------- 1 files changed, 16 insertions(+), 13 deletions(-) diff --git a/resize.c b/resize.c index 317110e..a560958 100644 --- a/resize.c +++ b/resize.c @@ -49,10 +49,12 @@ recalculate_sizes(void) struct client *c; struct window *w; struct window_pane *wp; - u_int i, j, ssx, ssy, has, limit; - int flag; + u_int i, j, ssx, ssy, has, limit; + int flag, has_status; RB_FOREACH(s, sessions, &sessions) { + has_status = options_get_number(&s->options, "status"); + ssx = ssy = UINT_MAX; for (j = 0; j < ARRAY_LENGTH(&clients); j++) { c = ARRAY_ITEM(&clients, j); @@ -61,7 +63,11 @@ recalculate_sizes(void) if (c->session == s) { if (c->tty.sx < ssx) ssx = c->tty.sx; - if (c->tty.sy < ssy) + if (has_status && + !(c->flags & CLIENT_CONTROL) && + c->tty.sy > 1 && c->tty.sy - 1 < ssy) + ssy = c->tty.sy - 1; + else if (c->tty.sy < ssy) ssy = c->tty.sy; } } @@ -71,17 +77,14 @@ recalculate_sizes(void) } s->flags &= ~SESSION_UNATTACHED; - if (options_get_number(&s->options, "status")) { - if (ssy == 0) - ssy = 1; - else - ssy--; - } + if (has_status && ssy == 0) + ssy = 1; + if (s->sx == ssx && s->sy == ssy) continue; - log_debug( - "session size %u,%u (was %u,%u)", ssx, ssy, s->sx, s->sy); + log_debug("session size %u,%u (was %u,%u)", ssx, ssy, s->sx, + s->sy); s->sx = ssx; s->sy = ssy; @@ -121,8 +124,8 @@ recalculate_sizes(void) if (w->sx == ssx && w->sy == ssy) continue; - log_debug( - "window size %u,%u (was %u,%u)", ssx, ssy, w->sx, w->sy); + log_debug("window size %u,%u (was %u,%u)", ssx, ssy, w->sx, + w->sy); layout_resize(w, ssx, ssy); window_resize(w, ssx, ssy); ----------------------------------------------------------------------- Summary of changes: resize.c | 29 ++++++++++++++++------------- 1 files changed, 16 insertions(+), 13 deletions(-) hooks/post-receive -- tmux ------------------------------------------------------------------------------ The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ tmux-cvs mailing list tmux-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-cvs