Both the two previous ways of navigating panes by direction have
authornicm <nicm@openbsd.org>
Thu, 8 May 2014 06:03:30 +0000 (06:03 +0000)
committernicm <nicm@openbsd.org>
Thu, 8 May 2014 06:03:30 +0000 (06:03 +0000)
commit8615a3a4c61c1796daf240e089d5cba2cfdcf1cc
tree531be295239fad3697b6a6e4d988f3686f1c4c31
parentc286cc6911457f2b8f333f1b882a4bbda30e9070
Both the two previous ways of navigating panes by direction have
irritating flaws:

a) The old way of always using the top or left if the choice is
ambiguous is annoying when the layout is unbalanced.

b) The new way of remembering the last used pane is annoying if the
layout is balanced and the leftmost is obvious to the user (because
clearly if we go right from the top-left in a tiled set of four we want
to end up in top-right, even if we were last using the bottom-right).

So instead, use a combination of both: if there is only one possible
pane alongside the current pane, move to it, otherwise choose the most
recently used of the choice.
usr.bin/tmux/layout.c
usr.bin/tmux/tmux.h
usr.bin/tmux/window.c