CVSROOT:        /cvs
Module name:    src
Changes by:     n...@cvs.openbsd.org    2009/07/19 07:21:40

Modified files:
        usr.bin/tmux   : Makefile cmd-break-pane.c cmd-choose-window.c 
                         cmd-down-pane.c cmd-kill-pane.c 
                         cmd-list-windows.c cmd-next-layout.c 
                         cmd-previous-layout.c cmd-resize-pane.c 
                         cmd-respawn-window.c cmd-rotate-window.c 
                         cmd-select-layout.c cmd-select-pane.c 
                         cmd-split-window.c cmd-swap-pane.c 
                         cmd-up-pane.c key-bindings.c layout.c resize.c 
                         server.c tmux.1 tmux.h window.c 
Added files:
        usr.bin/tmux   : layout-set.c 
Removed files:
        usr.bin/tmux   : layout-manual.c 

Log message:
Improved layout code.

Each window now has a tree of layout cells associated with it. In this tree,
each node is either a horizontal or vertical cell containing a list of other
cells running from left-to-right or top-to-bottom, or a leaf cell which is
associated with a pane.

The major functional changes are:

- panes may now be split arbitrarily both horizontally (splitw -h, C-b %) and
vertically (splitw -v, C-b ");
- panes may be resized both horizontally and vertically (resizep -L/-R/-U/-D,
bound to C-b left/right/up/down and C-b M-left/right/up/down);
- layouts are now applied and then may be modified by resizing or splitting
panes, rather than being fixed and reapplied when the window is resized or
panes are added;
- manual-vertical layout is no longer necessary, and active-only layout is gone
(but may return in future);
- the main-pane layouts now reduce the size of the main pane to fit all panes
if possible.

Thanks to all who tested.

Reply via email to