aboutsummaryrefslogtreecommitdiff
path: root/resize.c
Commit message (Collapse)AuthorAge
* Prevent control clients from affecting the session size until they havenicm2017-05-10
| | | | | specified a size with refresh-client -C. Prompted by a different change with the same purpose from George Nachman.
* Improve some of the logging on resize.nicm2017-02-08
|
* Cache status line position to reduce option lookups during output.nicm2017-02-03
|
* Use the notify name string instead of going via an enum and changenicm2016-10-16
| | | | existing hooks to use notifys instead.
* I no longer use my SourceForge address so replace it.nicm2016-01-19
|
* Move struct options into options.c.nicm2015-10-27
|
* Convert clients list into a TAILQ.nicm2015-04-24
|
* Make session_has return a flag, returning the first winlink found is anicm2015-04-22
| | | | recipe for errors.
* Change the windows array into an RB tree and fix some places where wenicm2015-04-22
| | | | were only looking at the first winlink for a window in a session.
* Label windows which are smaller than expected with a reason.nicm2014-11-14
|
* Don't let force-width or force-height be < PANE_MINIMUM.nicm2014-11-12
|
* Make session_attached a count and add session_many_attached flag.nicm2014-03-31
|
* Make recalculate_sizes() handle an empty window with no activenicm2013-10-10
| | | | | | | pane. This can happen when a window is in two sessions - it isn't destroyed immediately when the pane goes away but is left until the last session is destroyed. Fixes problems with grouped sessions reported by Daniel Ralston.
* Add resize-pane -Z to temporary zoom the active pane to occupy the fullNicholas Marriott2013-03-24
| | | | | | | | | | | | | | 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.
* Do not include status line in size calculations in control mode.Nicholas Marriott2013-03-21
|
* Add notify hooks for various events, the functions are currently emptyNicholas Marriott2012-03-17
| | | | stubs but will be filled in for control mode later. From George Nachman.
* Store sessions in an RB tree by name rather than a list, this is tidierNicholas Marriott2010-12-21
| | | | | | | | | and allows them to easily be shown sorted in various lists (list-sessions/choose-sessions). Keep a session index which is used in a couple of places internally but make it an ever-increasing number rather than filling in gaps with new sessions.
* There is somewhere that WINDOW_HIDDEN is getting set when it shouldn'tNicholas Marriott2010-11-22
| | | | | | | | be and I can't find it, but the flag itself is a useless optimisation that only applies to automatic-resize windows, so just dispose of it entirely. Fixes problems reported by Nicholas Riley.
* Having a list of winlinks->alerts for each session is stupid, just storeNicholas Marriott2010-06-21
| | | | the alert flags directly in the winlink itself.
* Don't allow locked or suspended clients to limit the size of active clients.Nicholas Marriott2009-09-24
|
* Improved layout code.Nicholas Marriott2009-07-19
| | | | | | | | | | | | | | | | | | | | | | | 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 theNicholas Marriott2009-07-14
| | | | | | | | 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 singleNicholas Marriott2009-06-01
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