aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
Commit message (Collapse)AuthorAge
...
| * Add a suspend helper function, and do not allow detaching or suspendingnicm2017-04-19
| | | | | | | | while already doing so.
* | 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.
* | Merge branch 'obsd-master'Thomas Adam2017-04-19
|\|
| * 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-17
|\|
| * Remove a couple of redraw flags that no longer have any effect.nicm2017-04-17
| |
* | Merge branch 'obsd-master'Thomas Adam2017-04-06
|\| | | | | | | | | | | Conflicts: server-client.c tmux.1
| * 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.
* | Merge branch 'obsd-master'Thomas Adam2017-03-10
|\|
| * Clear the bracket paste mode when in the command prompt.nicm2017-03-09
| |
* | Merge branch 'obsd-master'Thomas Adam2017-03-09
|\|
| * Move the client identify (display-panes) code into server-client.c.nicm2017-03-09
| |
* | Merge branch 'obsd-master'Thomas Adam2017-02-14
|\|
| * Make source-file look for files relative to the client working directorynicm2017-02-14
| | | | | | | | | | (like load-buffer and save-buffer), from Chris Pickel. Also break the where-is-this-file code out into its own function for loadb and saveb.
* | Merge branch 'obsd-master'Thomas Adam2017-02-09
|\|
| * Break the message storage function into its own function, useful fornicm2017-02-09
| | | | | | | | debugging.
* | Merge branch 'obsd-master'Thomas Adam2017-02-08
|\|
| * Some other tidying bits.nicm2017-02-08
| |
* | Merge branch 'obsd-master'Thomas Adam2017-02-03
|\|
| * Add a window or pane id "tag" to each format tree and use it to separatenicm2017-02-03
| | | | | | | | | | | | jobs, this means that if the same job is used for different windows or panes (for example in pane-border-format), it will be run separately for each pane.
* | Merge branch 'obsd-master'Thomas Adam2017-02-01
|\|
| * Implement "all event" (1003) mouse mode but in a way that works. Thenicm2017-02-01
| | | | | | | | | | | | | | | | | | | | | | main issue is that if we have two panes, A with 1002 and B with 1003, we need to set 1003 outside tmux in order to get all the mouse events, but then we need to suppress the ones that pane A doesn't want. This is easy in SGR mouse mode, because buttons == 3 is only used for movement events (for other events the trailing m/M marks a release instead), but in normal mouse mode we can't tell so easily. So for that, look at the previous event instead - if it is drag+release as well, then the current event is a movement event.
* | Merge branch 'obsd-master'Thomas Adam2017-01-13
|\|
| * Make options_get_string return const string.nicm2017-01-13
| |
* | Merge branch 'obsd-master'Thomas Adam2017-01-13
|\|
| * Add -E to detach-client to exec a command to replace the client insteadnicm2017-01-13
| | | | | | | | of exiting it, useful if tmux wasn't exec'd itself. From Jenna Magius.
* | Merge branch 'obsd-master'Thomas Adam2017-01-12
|\|
| * Add some missing special keys to key_string_lookup_key, fix a mousenicm2017-01-11
| | | | | | | | check in server_client_handle_key, and tweak a comment.
* | Merge branch 'obsd-master'Thomas Adam2016-12-07
|\|
| * Make prefix work in all tables (except the prefix table). Users who wantnicm2016-12-07
| | | | | | | | | | | | to avoid this can set prefix to "none" and bind send-prefix themselves. Allows C-b t be bound in the copy mode tables again, pointed out by millert@.
* | Merge branch 'obsd-master'Thomas Adam2016-11-24
|\|
| * The mouse valid flag needs to be correct before we fire the draggingnicm2016-11-24
| | | | | | | | | | callback, so move the callback outside of server_client_check_mouse and use a new special key code to indicate it.
* | Merge branch 'obsd-master'Thomas Adam2016-11-24
|\|
| * If in the middle of a drag, don't use an invalid key, just usenicm2016-11-24
| | | | | | | | KEYC_MOUSE as a placeholder. Reported by Artem Fokin.
| * Fix so that we work out the right pane from mouse events - we were doingnicm2016-11-24
| | | | | | | | | | | | | | | | | | | | so too early, before the mouse event was necessarily valid, so could end up using the pane from the previous mouse event, or the active pane. It is important that we use the right pane now that different panes can have different key tables (for copy mode). Fixes problem reported by Greg Hurrell.
* | Merge branch 'obsd-master'Thomas Adam2016-11-23
|\|
| * For mouse keys, use the mouse pane as the default current pane.nicm2016-11-23
| |
* | Merge branch 'obsd-master'Thomas Adam2016-11-16
|\|
| * Do not stop dragging when the wheel is pressed, from Artem Fokin.nicm2016-11-16
| |
* | Merge branch 'obsd-master'Thomas Adam2016-11-15
|\|
| * Turn on margins, with a couple of fixes (only limit to the pane for linenicm2016-11-15
| | | | | | | | feeds, and do not move cursor to end for full width panes).
| * Initial attempt to make use of left and right margins if the terminalnicm2016-11-15
| | | | | | | | | | | | | | supports them (that is, if it advertises itself as a VT420 - probably just xterm). These are the vertical equivalent of the scroll region and allow much faster scrolling of panes that do not take up the full width of the terminal.
* | Merge branch 'obsd-master'Thomas Adam2016-10-19
|\|
| * Alerts are too slow, so rather than walking all sessions and windows,nicm2016-10-19
| | | | | | | | | | | | add a link of winlinks to each window and a pointer to the session to each winlink. Also rewrite the alerts processing to return to the old behaviour (alert in any window sets the flag on any winlink).
* | Merge branch 'obsd-master'Thomas Adam2016-10-17
|\|
| * Use the notify name string instead of going via an enum and changenicm2016-10-16
| | | | | | | | existing hooks to use notifys instead.
* | Merge branch 'obsd-master'Thomas Adam2016-10-16
|\|
| * Mass rename struct cmd_q to struct cmdq_item and related.nicm2016-10-16
| |
* | Merge branch 'obsd-master'Thomas Adam2016-10-16
|\|