aboutsummaryrefslogtreecommitdiff
path: root/window.c
Commit message (Collapse)AuthorAge
* If select-layout is not given an argument, repply the last layout used in theNicholas Marriott2009-07-28
| | | | window, if any.
* window_add_pane cannot fail, so remove the unused cause argument and don'tNicholas Marriott2009-07-22
| | | | bother to check for a NULL return.
* Make some functions which return unused values void (mostly found by lint) andNicholas Marriott2009-07-21
| | | | tweak a redundant expression in window_pane_set_mode.
* 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.
* - New command display-message (alias display) to display a message in theNicholas Marriott2009-07-17
| | | | | | | | | | status line (bound to "i" and displays the current window and time by default). The same substitutions are applied as for status-left/right. - Add support for including the window index (#I), pane index (#P) and window name (#W) in the message, and status-left or status-right. - Bump protocol version. From Tiago Cunha, thanks!
* The man page says that kill-window removes the window entirely, unlinking itNicholas Marriott2009-07-15
| | | | | | | from any sessions. In fact the implementation only affected the current session, making it the same as unlink-window but destroying the window if it was linked into only one session (unlinkw gives an error). Change the behaviour to match what it documented and was originally intended.
* Don't accept input to a window if it not visible.Nicholas Marriott2009-07-14
|
* 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.
* Support "alternate screen" mode (terminfo smcup/rmcup) typically used by fullNicholas Marriott2009-07-13
| | | | | | | screen interactive programs to preserve the screen contents. When activated, it saves a copy of the visible grid and disables scrolling into and resizing out of the history; when deactivated the visible data is restored and the history reenabled.
* Just appending -l to $SHELL to create a login shell is wrong: -l is not POSIX,Nicholas Marriott2009-07-08
| | | | | | | | | and some people may use shells which do not support it. Instead, make an empty default-command option mean a login shell, and fork it with a - in argv[0] which is the method used by login(1). Also fix the automatic-rename code to handle this correctly and to strip a leading - if present.
* Rename the global options variables to be shorter and to make session optionsNicholas Marriott2009-07-07
| | | | | clear. No functional change, getting this out of the way to make later options changes easier.
* Miscellaneous unused functions, including one which was basically aNicholas Marriott2009-06-25
| | | | duplicate. Found by lint.
* Change find-window and monitor-content to use fnmatch(3). For convenience andNicholas Marriott2009-06-24
| | | | | | | | | compatibility, *s are implicitly added at the start and end of the pattern. Also display the line number and the entire line in the results, and lose the nasty section_string function and the now empty util.c file. Initially from Tiago Cunha.
* Add a dedicated function to convert a line into a string and use it to ↵Nicholas Marriott2009-06-24
| | | | simplify the search window function.
* If a pane is "zombified" (remain-on-exit flag), don't continue to queue key andNicholas Marriott2009-06-23
| | | | mouse input for it (otherwise they are processed after respawn).
* strdup the input to putenv to avoid in one case passing a string that is laterNicholas Marriott2009-06-05
| | | | | | freed and in the other const strings. looks sane to millert, ok ray
* 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