aboutsummaryrefslogtreecommitdiff
path: root/tty.c
Commit message (Collapse)AuthorAge
...
* Store client in tty struct directly instead of using a callback functionNicholas Marriott2012-05-22
| | | | pointer.
* Use tty_pane_full_width macro in some more places.Nicholas Marriott2012-05-22
|
* If there are any terminals with insert mode but not ich1, they can goNicholas Marriott2012-05-22
| | | | through the slow path. Tidies code slightly.
* Move some common code to repeat spaces into a function.Nicholas Marriott2012-05-22
|
* Tidy up by adding a macro for the pane being the full screen width, fromNicholas Marriott2012-05-05
| | | | Ailin Nemui.
* Missing ()s in macros.Nicholas Marriott2012-05-05
|
* Pull CRA out into a separate function and add ERA, from Ailin Nemui.Nicholas Marriott2012-05-05
|
* Add a simple form of output rate limiting by counting the number ofNicholas Marriott2012-03-20
| | | | | | | | | | | | | | | | | | 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.
* On xterm 271 and later, put the terminal into SCL 5 and use DECCRA forNicholas Marriott2012-03-17
| | | | | scrolling the region in panes (if the large region check isn't hit). With help from Ailin Nemui.
* Break out termios initialization into a separate function, from GeorgeNicholas Marriott2012-03-17
| | | | Nachman.
* Do not clear to end of line if the line is full, fixes missing lastNicholas Marriott2012-03-17
| | | | character in rightmost pane.
* Use the region lower not the pane size to work out where the bottom lineNicholas Marriott2012-03-17
| | | | is.
* Tweak last fix to actually hit the right end of pane.Nicholas Marriott2012-03-17
|
* Check event_initialized before event_del if event may not have been setNicholas Marriott2012-03-17
| | | | up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
* Revert screen-write.c r1.54 and fix the bug properly. After wrapping aNicholas Marriott2012-03-17
| | | | | line in a pane, the cursor needs to move to the next line unless it scrolled.
* Send secondary DA to terminals with XT in terminfo when starting up andNicholas Marriott2012-03-15
| | | | parse it to work out the xterm version.
* Fix a warning. Doh.Nicholas Marriott2012-03-15
|
* Add a helper function for enabling an optimization to make some codeNicholas Marriott2012-03-15
| | | | clearer.
* Erm, use EL in a way that actually works...Nicholas Marriott2012-03-12
|
* Use EL to clear to end of line if possible.Nicholas Marriott2012-03-12
|
* Remove some bits leftover from unused backoff code.Nicholas Marriott2012-03-09
|
* Support "bracketed paste" mode. This adds a -p flag to paste-buffer - ifNicholas Marriott2012-03-03
| | | | | | | 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.
* Add a wrapper function tty_set_size from George Nachman.Nicholas Marriott2012-02-15
|
* Add an option to move the status line to the top of the screen,Nicholas Marriott2012-01-29
| | | | requested by many.
* Add strings to allow the aixterm bright colours to be used whenNicholas Marriott2012-01-21
| | | | configuring colours, requested by Elliott Cable a few months ago.
* Calculate last position correctly for UTF-8 wide characters, reported byNicholas Marriott2012-01-15
| | | | Matthias Lederhofer.
* Add a tty_bell wrapper function, from Dylan Alex Simon.Nicholas Marriott2011-08-24
|
* Trim another useless if statement, from Ailin Nemui.Nicholas Marriott2011-05-26
|
* Support DECSCUSR sequence to set the cursor style with two newNicholas Marriott2011-05-20
| | | | terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
* Support xterm(1) cursor colour change sequences through terminfo(5) CcNicholas Marriott2011-05-20
| | | | | (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
* Support setting the xterm clipboard when copying from copy mode usingNicholas Marriott2011-05-18
| | | | | | | | 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.
* Use the tsl and fsl terminfo(5) capabilities to update terminal titleNicholas Marriott2011-05-08
| | | | | | 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.
* Set the terminal blocking again earlier, before sending the resetNicholas Marriott2011-03-27
| | | | sequences.
* Fix to properly wrap wide characters, from Micah Cowan.Nicholas Marriott2011-03-26
|
* Fix an incorrect test which was always true (oupper is always < olower),Nicholas Marriott2011-03-08
| | | | from Yusuke ENDOH.
* Support passing through escape sequences to the underlying terminal byNicholas Marriott2011-03-07
| | | | | | | | | | 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.
* Accept tcgetattr/tcsetattr failure, fixes problems with fatal() if theNicholas Marriott2011-01-29
| | | | terminal disappears while locked.
* Only set a mouse mode for mouse-select-pane if none already set by theNicholas Marriott2011-01-15
| | | | mode (any will do).
* Mouse highlight mode (1001) requires a program to cooperate soNicholas Marriott2011-01-15
| | | | supporting it through tmux is not as easy as this, remove it for now.
* Move all calls to fcntl(...O_NONBLOCK) into a function and clear theNicholas Marriott2011-01-08
| | | | | flag on the stdio file descriptors before closing them (fixes things like "tmux ls && cat").
* Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262Nicholas Marriott2011-01-03
| | | | | | | | | | 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.
* Support all four of the xterm mouse modes. Based on a diff from hsim atNicholas Marriott2010-12-29
| | | | gmx.li.
* There is somewhere that WINDOW_HIDDEN is getting set when it shouldn'tNicholas Marriott2010-11-22
| | | | | | | | 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.
* Trying to set FD_CLOEXEC on every fd is a lost cause, just useNicholas Marriott2010-10-16
| | | | closefrom() before exec.
* Ugh. Pass the right type into tty_term_has. Teaches me to make lastNicholas Marriott2010-09-11
| | | | minute changes :-/.
* Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupidNicholas Marriott2010-09-11
| | | | | | | | 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.
* Change the way backoff works. Instead of stopping reading from the ptyNicholas Marriott2010-08-11
| | | | | | | | | | 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.
* Fix problems with window sizing seen by Raghavendra D Prabhu whenNicholas Marriott2010-06-05
| | | | | | | | | | | | | | | | | | 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.
* Shut up gcc4 warnings.Nicholas Marriott2010-06-05
|