summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/layout.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Both the two previous ways of navigating panes by direction havenicm2014-05-081-2/+1
| | | | | | | | | | | | | | | | 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.
* Fix crash due to uninitialized lastwp member of layout_cell, reported bynicm2014-02-221-1/+2
| | | | Balazs Kezes.
* mouse-resize-pane: Only resize on border selectnicm2013-10-101-2/+2
| | | | | | | | | | | | | The current behaviour of mouse-resize-pane is such that if the mouse button is held down and a selection takes place within a pane, that if the mouse pointer then hits a border edge, that pane-resize would initiate. This seems counter-intuitive; instead, check for a resize condition if the border of a pane is selected, and in the case of mouse selection within a pane, no longer resize the pane if edge of the border is hit. By Thomas Adam.
* layout-resize-pane-mouse: Consider visible panes onlynicm2013-10-101-1/+4
| | | | | | | | When a pane is maximized, and text is selected, we end up checking if a pane switch is needed. This therefore means we might end up selecting panes which aren't visible. By Thomas Adam.
* Add resize-pane -Z to temporary zoom the active pane to occupy the fullnicm2013-03-241-3/+3
| | | | | | | | | | | | | | window or unzoom (restored to the normal layout) if it already zoomed, bound to C-b z by default. The pane is unzoomed on pretty much any excuse whatsoever. We considered making this a new layout but the requirements are quite different from layouts so decided it is better as a special case. Each current layout cell is saved, a temporary one-cell layout generated and all except the active pane set to NULL. Prompted by suggestions and scripts from several. Thanks to Aaron Jensen and Thiago Padilha for testing an earlier version.
* Add resize-pane -x and -y for absolute pane size (much requested).nicm2013-03-221-1/+37
|
* Remove the layout undo/redo code which never really worked.nicm2013-01-171-73/+1
|
* Make mouse event structure clearer by defining events (up, click, drag)nicm2012-10-261-21/+22
| | | | | and simplifying how buttons and wheels are represented, from Ailin Nemui. Should be no functional changes.
* xfree is not particularly helpful, remove it. From Thomas Adam.nicm2012-07-101-4/+4
|
* Fix some indentation.nicm2012-04-011-12/+12
|
* Fix option name.nicm2012-04-011-2/+2
|
* Add a layout history which can be stepped through with select-layout -unicm2012-04-011-1/+73
| | | | and -U commands (bound to 'u' and 'U' by default).
* Add notify hooks for various events, the functions are currently emptynicm2012-03-171-1/+3
| | | | stubs but will be filled in for control mode later. From George Nachman.
* Add move-pane command (like join-pane but allows the same window). Alsonicm2012-03-031-10/+25
| | | | | -b flag to join-pane and move-pane to place the pane to the left or above. From George Nachman.
* Add an option to move the status line to the top of the screen,nicm2012-01-291-3/+3
| | | | requested by many.
* Add a new option, mouse-resize-pane. When on, panes may be resized bynicm2011-05-081-1/+48
| | | | dragging their borders. From hsim at gmx.li.
* Custom layouts. list-windows command displays the layout as a string (such asnicm2010-06-291-51/+79
| | | | | "bb62,159x48,0,0{79x48,0,0,79x48,80,0}") and it can be applied to another window (with the same number of panes or fewer) using select-layout.
* New command, join-pane, to split and move an existing pane into the space (likenicm2010-01-071-12/+18
| | | | splitw then movep, or the reverse of breakp).
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastnicm2009-12-031-24/+24
| | | | | time now I've configured emacs to make them displayed in really annoying colours...
* Improved layout code.nicm2009-07-191-253/+536
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Get rid of the PANE_HIDDEN flag in favour of a function, and moving thenicm2009-07-141-37/+30
| | | | | | | | decision for whether or not a pane should be drawn out of the layout code and into the redraw code. This is needed for the new layout design, getting it in now to make that easier to work on.
* Import tmux, a terminal multiplexor allowing (among other things) a singlenicm2009-06-011-0/+373
terminal to be switched between several different windows and programs displayed on one terminal be detached from one terminal and moved to another. ok deraadt pirofti