aboutsummaryrefslogtreecommitdiff
path: root/tty.c
Commit message (Collapse)AuthorAge
* Sync OpenBSD patchset 1140:Tiago Cunha2012-07-04
| | | | | Remove a couple of unused variables from redbrain at gcc dot gnu dot org.
* Sync OpenBSD patchset 1121:Tiago Cunha2012-05-22
| | | | | | Store client in tty struct directly instead of using a callback function pointer.
* Sync OpenBSD patchset 1117:Tiago Cunha2012-05-22
| | | | | Use tty_pane_full_width macro in some more places.
* Sync OpenBSD patchset 1116:Tiago Cunha2012-05-22
| | | | | | If there are any terminals with insert mode but not ich1, they can go through the slow path. Tidies code slightly.
* Sync OpenBSD patchset 1115:Tiago Cunha2012-05-22
| | | | | Move some common code to repeat spaces into a function.
* Sync OpenBSD patchset 1109:Tiago Cunha2012-05-12
| | | | | | Tidy up by adding a macro for the pane being the full screen width, from Ailin Nemui.
* Sync OpenBSD patchset 1108:Tiago Cunha2012-05-12
| | | | | Missing ()s in macros.
* Sync OpenBSD patchset 1107:Tiago Cunha2012-05-12
| | | | | Pull CRA out into a separate function and add ERA, from Ailin Nemui.
* Sync OpenBSD patchset 1072:Tiago Cunha2012-03-29
| | | | | | | | | | | | | | | | | | | | Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval. This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility). After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
* Sync OpenBSD patchset 1070:Tiago Cunha2012-03-18
| | | | | | | On xterm 271 and later, put the terminal into SCL 5 and use DECCRA for scrolling the region in panes (if the large region check isn't hit). With help from Ailin Nemui.
* Sync OpenBSD patchset 1062:Tiago Cunha2012-03-18
| | | | | | Break out termios initialization into a separate function, from George Nachman.
* Sync OpenBSD patchset 1061:Tiago Cunha2012-03-18
| | | | | | Do not clear to end of line if the line is full, fixes missing last character in rightmost pane.
* Sync OpenBSD patchset 1060:Tiago Cunha2012-03-18
| | | | | | Use the region lower not the pane size to work out where the bottom line is.
* Sync OpenBSD patchset 1059:Tiago Cunha2012-03-18
| | | | | Tweak last fix to actually hit the right end of pane.
* Sync OpenBSD patchset 1057:Tiago Cunha2012-03-18
| | | | | | Check event_initialized before event_del if event may not have been set up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
* Sync OpenBSD patchset 1055:Tiago Cunha2012-03-18
| | | | | | | Revert screen-write.c r1.54 and fix the bug properly. After wrapping a line in a pane, the cursor needs to move to the next line unless it scrolled.
* Sync OpenBSD patchset 1054:Tiago Cunha2012-03-18
| | | | | | Send secondary DA to terminals with XT in terminfo when starting up and parse it to work out the xterm version.
* Sync OpenBSD patchset 1052:Tiago Cunha2012-03-18
| | | | | Fix a warning. Doh.
* Sync OpenBSD patchset 1051:Tiago Cunha2012-03-18
| | | | | | Add a helper function for enabling an optimization to make some code clearer.
* Sync OpenBSD patchset 1048:Tiago Cunha2012-03-18
| | | | | Erm, use EL in a way that actually works...
* Sync OpenBSD patchset 1047:Tiago Cunha2012-03-18
| | | | | Use EL to clear to end of line if possible.
* Sync OpenBSD patchset 1045:Tiago Cunha2012-03-18
| | | | | Remove some bits leftover from unused backoff code.
* Sync OpenBSD patchset 1037:Tiago Cunha2012-03-07
| | | | | | | | | Support "bracketed paste" mode. This adds a -p flag to paste-buffer - if this is used and the application has requested bracketed pastes, then tmux surrounds the pasted text by \033[200~ and \033[201~. Applications like vim can (apparently) use this to avoid, for example, indenting the text. From Ailin Nemui.
* Sync OpenBSD patchset 1029:Tiago Cunha2012-02-15
| | | | | Add a wrapper function tty_set_size from George Nachman.
* Sync OpenBSD patchset 1015:Tiago Cunha2012-01-29
| | | | | | Add an option to move the status line to the top of the screen, requested by many.
* Sync OpenBSD patchset 1006:Tiago Cunha2012-01-21
| | | | | | Add strings to allow the aixterm bright colours to be used when configuring colours, requested by Elliott Cable a few months ago.
* Sync OpenBSD patchset 997:Tiago Cunha2012-01-20
| | | | | | Calculate last position correctly for UTF-8 wide characters, reported by Matthias Lederhofer.
* Sync OpenBSD patchset 949:Tiago Cunha2011-08-25
| | | | | Add a tty_bell wrapper function, from Dylan Alex Simon.
* Sync OpenBSD patchset 921:Tiago Cunha2011-05-26
| | | | | Trim another useless if statement, from Ailin Nemui.
* Sync OpenBSD patchset 916:Tiago Cunha2011-05-22
| | | | | | Support DECSCUSR sequence to set the cursor style with two new terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
* Sync OpenBSD patchset 915:Tiago Cunha2011-05-22
| | | | | | | Support xterm(1) cursor colour change sequences through terminfo(5) Cc (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
* Sync OpenBSD patchset 914:Tiago Cunha2011-05-22
| | | | | | | | | | Support setting the xterm clipboard when copying from copy mode using the xterm escape sequence for the purpose (if xterm is configured to allow it). Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
* Sync OpenBSD patchset 904:Tiago Cunha2011-05-18
| | | | | | | | Use the tsl and fsl terminfo(5) capabilities to update terminal title and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
* If the terminal supports sitm for italics, use it instead of standoutNicholas Marriott2011-04-09
| | | | | (smso). From Tiago Resende.
* |PatchSet 872Nicholas Marriott2011-04-06
| | | | | | | | | | | |Date: 2011/03/27 21:36:19 |Author: nicm |Branch: HEAD |Tag: (none) |Log: |Set the terminal blocking again earlier, before sending the reset |sequences.
* Fix to properly wrap wide characters.Micah Cowan2011-03-24
|
* Sync OpenBSD patchset 868:Tiago Cunha2011-03-19
| | | | | | Fix an incorrect test which was always true (oupper is always < olower), from Yusuke ENDOH.
* Sync OpenBSD patchset 866:Tiago Cunha2011-03-19
| | | | | | | | | | | | Support passing through escape sequences to the underlying terminal by using DCS with a "tmux;" prefix. Escape characters in the sequences must be doubled. For example: $ printf '\033Ptmux;\033\033]12;red\007\033\\' Will pass \033]12;red\007 to the terminal (and change the cursor colour in xterm). From Kevin Goodsell.
* Sync OpenBSD patchset 858:Tiago Cunha2011-02-15
| | | | | | Accept tcgetattr/tcsetattr failure, fixes problems with fatal() if the terminal disappears while locked.
* Sync OpenBSD patchset 846:Tiago Cunha2011-01-21
| | | | | | Only set a mouse mode for mouse-select-pane if none already set by the mode (any will do).
* Sync OpenBSD patchset 845:Tiago Cunha2011-01-21
| | | | | | Mouse highlight mode (1001) requires a program to cooperate so supporting it through tmux is not as easy as this, remove it for now.
* Sync OpenBSD patchset 834:Tiago Cunha2011-01-21
| | | | | | | Move all calls to fcntl(...O_NONBLOCK) into a function and clear the flag on the stdio file descriptors before closing them (fixes things like "tmux ls && cat").
* Sync OpenBSD patchset 828:Tiago Cunha2011-01-07
| | | | | | | | | | | | Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262 and supports larger terminals than the older way. If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option. With help and based on code from hsim at gmx.li.
* Sync OpenBSD patchset 812:Tiago Cunha2010-12-30
| | | | | | Support all four of the xterm mouse modes. Based on a diff from hsim at gmx.li.
* PatchSet 789Nicholas Marriott2010-12-06
| | | | | | | | | | | | | | | | | | | | 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
* Sync OpenBSD patchset 775:Tiago Cunha2010-10-24
| | | | | | Trying to set FD_CLOEXEC on every fd is a lost cause, just use closefrom() before exec.
* Sync OpenBSD patchset 763:Tiago Cunha2010-09-18
| | | | | | Ugh. Pass the right type into tty_term_has. Teaches me to make last minute changes :-/.
* Sync OpenBSD patchset 762:Tiago Cunha2010-09-18
| | | | | | | | | | Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupid terminals (I'm looking at you, putty) which disable the vt100 ACS mode switching sequences in UTF-8 mode. Also on terminals without ACS at all, use ASCII equivalents where obvious.
* Sync OpenBSD patchset 745:Tiago Cunha2010-08-11
| | | | | | | | | | | | Change the way backoff works. Instead of stopping reading from the pty when the client tty backs up too much, just stop updating the tty and only update the internal screen. Then when the tty recovers, force a redraw. This prevents a dodgy client from causing other clients to go into backoff while still allowing tmux to be responsive (locally) when seeing lots of output.
* Sync OpenBSD patchset 716:Tiago Cunha2010-06-06
| | | | | | | | | | | | | | | | | | | | Fix problems with window sizing seen by Raghavendra D Prabhu when starting tmux from .xinitrc. One of the very few things the server relies on the client for now is to pass through a message on SIGWINCH, but there is a condition where potentially a SIGWINCH may be lost during the transition from unattached (main.c) to attached (client.c). So trigger a size change immediately after the client installs its SIGWINCH handler. Also, when the terminal is resized, reset the scroll region and cursor position. Previously, we were clearing our saved idea of these, but in fact some terminals do not reset them on resize, so this caused problems during redraw. While here make a resize to the same size not cause a redraw and rename the tmux.out output log file to include the tmux PID.