aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Do not need getopt.h for getopt, from Eric N Vander Weele.Nicholas Marriott2017-04-20
|
* Merge branch 'master' of github.com:tmux/tmuxNicholas Marriott2017-04-20
|\
| * Merge branch 'obsd-master'Thomas Adam2017-04-20
| |\
| | * Only set up a current target for mouse key bindings. Fixes:nicm2017-04-20
| | | | | | | | | | | | | | | | | | | | | bind q select-pane -U \; resize-pane -Z (There is still some possible weirdness with the way we do current targets, it should probably be done in a different way at some point.)
* | | getptmfd() and fdforkpty() compat.Nicholas Marriott2017-04-20
|/ /
* | Notes on target resolution.Nicholas Marriott2017-04-20
| |
* | Turn on debug if $VERSION is master rather than commenting and uncommenting.Nicholas Marriott2017-04-20
| |
* | Merge branch 'obsd-master'Thomas Adam2017-04-20
|\|
| * Now that struct winlink has a session pointer, can remove some arguments.nicm2017-04-20
| |
| * There is no real need for window_printable_flags to allocate, make itnicm2017-04-20
| | | | | | | | return a buffer from the stack.
| * If a #() command doesn't exit, use its most recent line of output (itnicm2017-04-20
| | | | | | | | | | | | | | must be a full line). Don't let it redraw the status line more than once a second. Requested by someone about 10 years ago...
* | Merge tag '2.4'Nicholas Marriott2017-04-20
|\ \ | | | | | | | | | Version 2.4.
| * | Enter date of release.Nicholas Marriott2017-04-20
| | |
| * | Missing :.Nicholas Marriott2017-04-20
| | |
| * | Changes to CHANGES.Nicholas Marriott2017-04-20
| | |
| * | Update CHANGES fileThomas Adam2017-04-20
| | |
| * | load_cfg returns < 0 on error, not != 0. Problem reported by Kaushal Modi.nicm2017-04-19
| | |
| * | Version 2.4.Nicholas Marriott2017-04-19
| | |
| * | Missed freezero.Nicholas Marriott2017-04-19
| | |
* | | Update TODO.Nicholas Marriott2017-04-20
| | |
* | | Add to TODO.Nicholas Marriott2017-04-20
| | |
* | | Merge branch 'obsd-master'Thomas Adam2017-04-19
|\ \ \ | | |/ | |/|
| * | load_cfg returns < 0 on error, not != 0. Problem reported by Kaushal Modi.nicm2017-04-19
| | |
* | | Merge branch 'obsd-master'Thomas Adam2017-04-19
|\| |
| * | Add a suspend helper function, and do not allow detaching or suspendingnicm2017-04-19
| | | | | | | | | | | | while already doing so.
| * | Style nits and a missing cast.nicm2017-04-19
| | |
* | | Merge branch 'obsd-master'Thomas Adam2017-04-19
|\| |
| * | When the data we have buffered to write to a terminal grows beyond anicm2017-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reasonable amount (currently width * height * 8 bytes), discard all output to the terminal and start trying to redraw periodically instead. Continue with this until the amount of data we are trying to write falls to a low level again. This helps to prevent tmux sitting on a huge buffer of data when there are processes with fast output running inside tmux but the outside terminal is slow. A new client_discarded format holds the amount of data that has been discarded due to this mechanism. The three variables (when to start this, when to stop, and how often to redraw) are basically "works for me" at the moment, this is going in to see how it goes and if it causes problems for anyone else.
* | | Missed freezero.Nicholas Marriott2017-04-19
| | |
* | | Merge branch 'obsd-master'Thomas Adam2017-04-19
|\| |
| * | Revert use of DECSLRM on iTerm2, it doesn't help as much as we throught,nicm2017-04-18
| | | | | | | | | | | | and there are some question marks about it's support.
| * | On terminals without DECSLRM, when a pane that is less than the fullnicm2017-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with of the terminal scrolls, tmux needs to redraw the entire pane. This results in a large amount of output data which can cause slow terminals to struggle, particularly when many lines are scrolled together quickly. This can be reduced by only redrawing when tmux doesn't hold any buffered data for the terminal. If a redraw is required and data is buffered, the redraw is deferred until all that data is consumed (it is checked after every event loop, a timer is used to ensure this happens at some point). While a redraw is pending, no additional data will be written to the terminal. The redraw still happens, now it is just pushed back if it is possible it would just add more data on top of a terminal that is already behind. This both gives the terminal a chance to catch up, and allows tmux to process more scrolling (that would require additional redraws) in the meantime. Helps with a problem reported by Greg Hurrell.
* | | Merge branch 'obsd-master'Thomas Adam2017-04-18
|\| | | |/ |/|
| * Detect iTerm2 and use DECSLRM for it as well.nicm2017-04-18
| |
* | Merge branch 'obsd-master'Thomas Adam2017-04-18
|\|
| * Add a format for number of bytes writtent to client, useful for debugging.nicm2017-04-18
| |
| * Do not check for BCE for a background colour that isn't needed, usenicm2017-04-18
| | | | | | | | colour 8 instead.
* | Merge branch 'obsd-master'Thomas Adam2017-04-18
|\|
| * Include client name in key logging.nicm2017-04-18
| |
* | Merge branch 'obsd-master'Thomas Adam2017-04-17
|\|
| * Don't bother moving the cursor for empty lines.nicm2017-04-17
| |
| * Remove a couple of redraw flags that no longer have any effect.nicm2017-04-17
| |
* | Merge branch 'obsd-master'Thomas Adam2017-04-16
|\|
| * Memory leak, from David CARLIER.nicm2017-04-16
| |
| * Use EL1 to clear lines when redrawing the leftmost pane, rather thannicm2017-04-16
| | | | | | | | spaces.
* | Accept NULL pointer.Nicholas Marriott2017-04-12
| |
* | Update imsg*.c from OpenBSD.Nicholas Marriott2017-04-11
| |
* | Merge branch 'obsd-master'Thomas Adam2017-04-06
|\| | | | | | | | | | | Conflicts: server-client.c tmux.1
| * Add Home and End for copy mode.nicm2017-04-05
| |
| * Try again to resolve problems with mistaking sessions for windows: nownicm2017-04-05
| | | | | | | | | | | | | | | | | | | | do not look up windows as sessions (and panes as windows) when they are qualified with a ':' or a '.'. So 'foo' as a window target will look for windows and sessions called 'foo', but ':foo' will only look for windows, and 'foo:' only for sessions. This means the common case of using an unadorned session as a window target (send -tfoo) should continue to work, but an explicit window will not get confused with a session (send -t:foo).