Hi all, I found and fixed a bug where window sizes weren't being recalculated in grouped sessions when a session's child dies, killing the window.
I've included the repro steps in the commit message. Let me know if you'd like any changes. Daniel ---- >From d7c541ad37dbe14dc50a2878448f5de0b753286c Mon Sep 17 00:00:00 2001 From: Daniel Ralston <wubbul...@gmail.com> Date: Fri, 19 Apr 2013 01:13:07 -0700 Subject: [PATCH] [PATCH] FIX window resizing bug when a grouped session's child dies When the child of a grouped session dies, and the session's client switches to the same window as the client of another session it is grouped with, sizes should be recalculated the same as if the user had switched to that other window manually. Steps to Reproduce Bug: 1. In an xterm: $ tmux new -s TEST_SESSION 2. Make sure the tmux session has aggressive-resizing enabled: <prefix>-: aggressive resizing on 3. In another xterm: $ tmux new -t TEST_SESSION 4. Create a new window running a shell (or whatever program you want) in the second xterm, and switch to it so the two tmux clients are viewing different windows. 5. Resize the second xterm so it is smaller than the first. 6. Kill the program in the second xterm so that its window closes. This will cause it to switch to the same window as the first tmux session. 7. In the first xterm, even though a smaller tmux session is now viewing that window, the size has not been updated. --- server-fn.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server-fn.c b/server-fn.c index 566925f..4db4eb5 100644 --- a/server-fn.c +++ b/server-fn.c @@ -283,6 +283,12 @@ server_kill_window(struct window *w) if (options_get_number(&s->options, "renumber-windows")) session_renumber_windows(s); } + + /* If this session is grouped with another session, this + * session's client is switching to the same window that the + * other session's client is focused on, and two two clients + * are different sizes, we need to recalculate sizes. */ + recalculate_sizes(); } int -- 1.8.2.1 ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users