summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/input.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Support xterm(1) cursor colour change sequences through terminfo(5) Ccnicm2011-05-201-8/+30
| | | | | (set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked by me and Ailin Nemui.
* Support passing through escape sequences to the underlying terminal bynicm2011-03-071-24/+49
| | | | | | | | | | 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.
* Fix a typo that meant we did not reset the background colour when it wasnicm2011-03-031-2/+2
| | | | omitted in a 256-colour SGR ([48;5m). From Yusuke ENDOH.
* Use input_clear to reset the APC, DCS, OSC state or it could be reusednicm2011-01-281-5/+8
| | | | improperly by a later state. From Kevin Goodsell.
* Mouse highlight mode (1001) requires a program to cooperate sonicm2011-01-151-5/+1
| | | | supporting it through tmux is not as easy as this, remove it for now.
* Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262nicm2011-01-031-1/+7
| | | | | | | | | | 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 atnicm2010-12-291-4/+19
| | | | gmx.li.
* Style tweaks.nicm2010-12-231-6/+6
|
* Add an option to alert (monitor) for silence (lack of activity) in anicm2010-12-061-1/+3
| | | | window. From Thomas Adam.
* Fix typo in escape state table leading to fatal() when \033} or \033~nicm2010-04-171-2/+2
| | | | was entered, from Chris Johnsen.
* New input parser based on http://vt100.net/emu/dec_ansi_parser.nicm2010-03-221-1146/+1137
|
* Add an option to disable the smcup/rmcup alternate screen behaviour insidenicm2010-02-081-1/+7
| | | | tmux. From clemens fischer.
* Correctly clear 256-colour flag for aixterm colours.nicm2010-01-061-1/+3
|
* Pass through the aixterm bright colours if the terminal supports them (>= 16nicm2009-12-141-5/+3
| | | | colours).
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastnicm2009-12-031-10/+10
| | | | | time now I've configured emacs to make them displayed in really annoying colours...
* Add a couple of comments.nicm2009-11-271-1/+2
|
* Convert the window pane (pty master side) fd over to use a bufferevent.nicm2009-11-041-12/+14
| | | | | The evbuffer API is very similar to the existing tmux buffer API so this was remarkably painless. Not many possible ways to do it, I suppose.
* tabs are better; ok nicmderaadt2009-10-261-4/+4
|
* Support the bright fg/bg colour SGR 90-97 and 100-107.nicm2009-10-231-1/+23
| | | | Reported by Tim Allen.
* %zu not %u, doh.nicm2009-10-201-2/+2
|
* Try to reduce the UTF-8 mess.nicm2009-10-201-33/+9
| | | | | | | | | | | | Get rid of passing around u_char[4]s and define a struct utf8_data which has character data, size (sequence length) and width. Move UTF-8 character collection into two functions utf8_open/utf8_append in utf8.c which fill in this struct and use these functions from input.c and the various functions in screen-write.c. Space for rather more data than is necessary for one UTF-8 sequence is in the utf8_data struct because screen_write_copy is still nasty and needs to reinject the character (after combining) into screen_write_cell.
* Handle DECCOLM by just emulating its side-effect of clearing the screen.nicm2009-10-131-1/+9
|
* When backspace is received at the beginning of a line and the previous line wasnicm2009-10-121-2/+2
| | | | | | | | wrapped, move the cursor back up to the end of the previous line. Another one of the forgotten persons requested this quite a while ago (I need to start noting names on todo items...) when it was quite hard to implement. Now it is easy and I don't see it can do any harm, so hey presto...
* Nuke unused variable.nicm2009-08-201-2/+1
|
* Handle the device attributes (DA) escape sequence.nicm2009-08-191-1/+22
|
* Instead of just checking for an empty buffer, which may not be the case ifnicm2009-08-181-6/+6
| | | | | | | there is unconsumed data, save the previous size and use it instead. This means that activity monitoring should work in this (unlikely) event. Also remove a debugging statement that no longer seems necessary.
* Add a flags member to the grid_line struct and use it to differentiate linesnicm2009-08-081-5/+5
| | | | | wrapped at the screen edge from those terminated by a newline. Then use this when copying to combine wrapped lines together into one.
* Using the alternative screen (smcup/rmcup) should also preserve the currentnicm2009-08-071-4/+6
| | | | | | colours and attributes. Found thanks to a report from Taylor Venable. While here also nuke a couple of extra blank lines.
* Make some functions which return unused values void (mostly found by lint) andnicm2009-07-211-5/+3
| | | | tweak a redundant expression in window_pane_set_mode.
* Support "alternate screen" mode (terminfo smcup/rmcup) typically used by fullnicm2009-07-131-3/+73
| | | | | | | screen interactive programs to preserve the screen contents. When activated, it saves a copy of the visible grid and disables scrolling into and resizing out of the history; when deactivated the visible data is restored and the history reenabled.
* Implement the CBT (backward tab) sequence (\033[Z).nicm2009-06-041-1/+27
|
* Proper support for tab stops (\033H etc), using a bitstring(3). Makes anothernicm2009-06-041-8/+47
| | | | vttest test happy.
* Okay, so I screwed up when testing this, doh. Unbreak so that CAN/SUB actuallynicm2009-06-041-9/+15
| | | | do cancel the sequence, and tweak to make the code more clear.
* Oops, CAN and SUB should abort the sequence (return to first state), not remainnicm2009-06-041-1/+7
| | | | in the same state.
* More input compatibility love. Support C0 within escape sequences, and the C0nicm2009-06-041-8/+39
| | | | | control character VT (vertical tab, \013), which is treated as LF like VT102. Makes another vttest happy.
* Implement the DEC alignment test. With the last change this is enough for thenicm2009-06-031-6/+23
| | | | | first cursor test in vttest (in ports) to pass; it still shops a few more problems though.
* Pass window titles through vis(1). <0x20 is dropped anyway by the input statenicm2009-06-031-2/+2
| | | | | | | machine but top-bit-set nonprintables could cause trouble, and they are neater like this anyway. Suggested by deraadt a few days ago.
* Import tmux, a terminal multiplexor allowing (among other things) a singlenicm2009-06-011-0/+1276
terminal to be switched between several different windows and programs displayed on one terminal be detached from one terminal and moved to another. ok deraadt pirofti