diff options
author | nicm <nicm> | 2014-05-08 06:03:30 +0000 |
---|---|---|
committer | nicm <nicm> | 2014-05-08 06:03:30 +0000 |
commit | 540f0b3e45acae9b0c5fa12f7e9170c6c78d177f (patch) | |
tree | 57fe676f7f9ebc1521a13aefd89a2837efb59b83 /tmux.h | |
parent | 6369ea10d7f45dfc5c77e7ba163403b37e254e0f (diff) | |
download | rtmux-540f0b3e45acae9b0c5fa12f7e9170c6c78d177f.tar.gz rtmux-540f0b3e45acae9b0c5fa12f7e9170c6c78d177f.tar.bz2 rtmux-540f0b3e45acae9b0c5fa12f7e9170c6c78d177f.zip |
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.
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -892,6 +892,7 @@ struct window_choose_mode_item { /* Child window structure. */ struct window_pane { u_int id; + u_int active_point; struct window *window; @@ -948,6 +949,7 @@ struct window_pane { }; TAILQ_HEAD(window_panes, window_pane); RB_HEAD(window_pane_tree, window_pane); +ARRAY_DECL(window_pane_list, struct window_pane *); /* Window structure. */ struct window { @@ -1025,8 +1027,6 @@ struct layout_cell { u_int yoff; struct window_pane *wp; - struct window_pane *lastwp; - struct layout_cells cells; TAILQ_ENTRY(layout_cell) entry; |