aboutsummaryrefslogtreecommitdiff
path: root/tty.c
Commit message (Collapse)AuthorAge
* Tidy up tty_write, from Sean Estabrooks.Nicholas Marriott2012-08-14
|
* xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
|
* Remove a couple of unused variables from redbrain at gcc dot gnu dot org.Nicholas Marriott2012-06-20
|
* 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.