summaryrefslogtreecommitdiffstats
path: root/resize.c
AgeCommit message (Collapse)Author
2013-08-01Make recalculate_sizes() handle an empty window with no active pane. This canNicholas Marriott
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.
2013-02-24Add resize-pane -Z to temporary zoom the active pane to occupy the full windowNicholas Marriott
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.
2013-02-17Do not include status line in size calculations in control mode.Nicholas Marriott
2012-03-18Sync OpenBSD patchset 1069:Tiago Cunha
Add notify hooks for various events, the functions are currently empty stubs but will be filled in for control mode later. From George Nachman.
2011-07-09Expand the Id keyword. Tiago Cunha
2010-12-22Sync OpenBSD patchset 806:Tiago Cunha
Store sessions in an RB tree by name rather than a list, this is tidier 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.
2010-12-06PatchSet 789Nicholas Marriott
Date: 2010/11/22 21:13:13 Author: nicm Branch: HEAD Tag: (none) Log: There is somewhere that WINDOW_HIDDEN is getting set when it shouldn't 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. Members: resize.c:1.5->1.6 tmux.h:1.246->1.247 tty.c:1.92->1.93
2010-06-22Sync OpenBSD patchset 724:Tiago Cunha
Having a list of winlinks->alerts for each session is stupid, just store the alert flags directly in the winlink itself.
2009-09-25Sync OpenBSD patchset 352:Tiago Cunha
Don't allow locked or suspended clients to limit the size of active clients.
2009-07-20Sync OpenBSD patchset 142:Tiago Cunha
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.
2009-07-15Get rid of the PANE_HIDDEN flag in favour of a function, and moving theNicholas Marriott
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.
2009-04-01- Allow switching to hidden windows (for active-only layout).Nicholas Marriott
- Don't update unnecessarily for other layouts when changing active pane doesn't matter.
2009-04-01Basic horizontal splitting and layout management. Still some redraw and otherNicholas Marriott
issues - particularly, don't mix with manual pane resizing and be careful when viewing from multiple clients; generally cycling the layout a few times will fix most problems. Getting this in for testing while I think about how to deal with manual mode. Split window as normal and cycle the layouts with C-b space. Some of the layouts will work better when swap-pane comes along.
2009-02-11Move sx,sy into tty rather than client.Nicholas Marriott
2009-01-11Window splitting. Two vertical panes fixed 50% each. This is a huge diff, ↵Nicholas Marriott
still a couple of bugs (notably heap corruption somewhere causing segfault on exit).
2008-12-08Make window options work the same was as session options, add ↵Nicholas Marriott
mode-fg/mode-bg options, force -g for global on set/show/setw/showw/
2008-06-19status-lines -> status, prefix-key -> prefixNicholas Marriott
2008-06-14New window options: force-width and force-height. This will force a window toNicholas Marriott
an arbitrary width and height (0 for the default unlimited). This is neat for emacs which doesn't have a sensible way to force hard wrapping at 80 columns. Also, don't try to be clever and use clr_eol when redrawing the whole screen, it causes trouble since the redraw functions are used to draw the blank areas too.
2008-06-14Clear blank area properly on redraw, and add a marker line below it.Nicholas Marriott
2008-06-07Clear clients with flag too.Nicholas Marriott
2008-06-06New flag: aggressize resize. Resize window when to size of smallest session ↵Nicholas Marriott
for which it is _current_ window.
2008-06-03Per-session configuration options.Nicholas Marriott
2008-06-01Don't die if no dst window and -k to linkw.Nicholas Marriott
2007-12-06Major reorganisation of screen handling.Nicholas Marriott
2007-12-02Clear before resize.Nicholas Marriott
2007-11-27Big internal reorganisation to move tty control into parent.Nicholas Marriott
2007-11-21Initial history support.Nicholas Marriott
2007-11-20Mass screen.c rename/tidy. Add a actual size (ysize) as distinct from ↵Nicholas Marriott
display size (now dx,dy). Move functions which work on the displayed area into screen-display.c and tidy. Use macros consistently when accessing screen data (may want to move everything about again later!). This the first step on the road to scrollback.
2007-10-19Add a bell-action option.Nicholas Marriott
2007-10-05Have resize update a SESSION_UNATTACHED flag.Nicholas Marriott
2007-10-04Don't accept UINT_MAX as size if no clients/sessions.Nicholas Marriott
2007-10-04Incomplete resize support.Nicholas Marriott