aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* load_cfg returns < 0 on error, not != 0. Problem reported by Kaushal Modi.nicm2017-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
|
* 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.
* 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.
* Detect iTerm2 and use DECSLRM for it as well.nicm2017-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.
* Include client name in key logging.nicm2017-04-18
|
* 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
|
* Memory leak, from David CARLIER.nicm2017-04-16
|
* Use EL1 to clear lines when redrawing the leftmost pane, rather thannicm2017-04-16
| | | | spaces.
* 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).
* Give each client a name. This defaults to the tty name as before butnicm2017-04-05
| | | | | | | falls back to an alternative if the tty name is not available. This is clearer than overloading the client ttyname member and allows us to remove the path stored in the tty struct, it should always be the same as the client.
* cfg_file can be static.nicm2017-04-05
|
* Write raw strings in one go rather than character at a time.nicm2017-03-24
|
* Show count of search results in copy mode.nicm2017-03-24
|
* Add support for the strikethrough attribute (SGR 9), using the new smxxnicm2017-03-22
| | | | | terminfo capability. This means there are now nine attribute bits, so anything above 0xff uses an extended cell.
* Use uid_t for UID not u_int.nicm2017-03-21
|
* Fix movement after select-line, from Omar Sandoval.nicm2017-03-21
|
* Fix pane movement by direction (up, down, left, right) whennicm2017-03-21
| | | | pane-border-status is set, from KOIE Hidetaka.
* Fix a couple of argument types.nicm2017-03-17
|
* Add h and l for collapse and expand in choose mode with vi(1) keys, fromnicm2017-03-17
| | | | Gregory Pakosz.
* Redraw after killp -a.nicm2017-03-16
|
* Invalidate the cursor when we think we should have wrapped.nicm2017-03-15
|
* Try to avoid moving the cursor to the start of the next line whennicm2017-03-15
| | | | | | | printing cells if it is already at the very end of the line and the terminal will wrap it to the next line itself, this means terminals still see it as a wrapped line for the purposes of their own mouse selection. Reported by millert@.
* Log where panes are created.nicm2017-03-13
|
* Revert previous, breaks normal short targets, reported by Theo Buehler.nicm2017-03-13
|
* Fix calculation of size for full size splits.nicm2017-03-11
|
* Only look for window and pane parts of target as a sesson and window ifnicm2017-03-11
| | | | they look like an ID.
* Clear the bracket paste mode when in the command prompt.nicm2017-03-09
|
* Move the client identify (display-panes) code into server-client.c.nicm2017-03-09
|
* Move server_fill_environ into environ.c and move some other common codenicm2017-03-09
| | | | into it.
* Skip over padding cells when moving the cursor left or right.nicm2017-03-08
|
* Handle empty options correctly.nicm2017-03-08
|
* Always send smkx to the terminal outside, the keys we get from terminfonicm2017-03-08
| | | | are the keys when it is on.
* Add a helper function for the most common format_create/defaults/expandnicm2017-03-08
| | | | pattern.
* Need to flush before writing out cells we are not collecting, also addnicm2017-03-07
| | | | some extra logging.
* If moving cells outside the current used count, update it.nicm2017-03-07
|
* Collect strings correctly when on terminals that don't support UTF-8.nicm2017-03-06
|
* When redrawing a combined UTF-8 characters in its existing position,nicm2017-03-06
| | | | | need to save and restore the cursor so that the next character goes into the right place.
* If splitw -b is used, insert the new pane before the current one in thenicm2017-02-27
| | | | | | pane list. This means the numbering is in order (for example for display-panes) and fixes a problem with redrawing the active pane borders.
* Minor bits: fix an array size, add comment, make grid_cell_entry static.nicm2017-02-22
|
* Change pane redraw to collect cells up as well, and simplify it a bit.nicm2017-02-21
|
* Don't need is1,is2,is3 so remove them.nicm2017-02-21
|
* Scrolling at least needs to be flushed before sending EL to the terminalnicm2017-02-21
| | | | (but it is simpler to flush everything, so do that instead).
* Add SGR 28 to clear hidden flag.nicm2017-02-19
|