aboutsummaryrefslogtreecommitdiff
path: root/input.c
Commit message (Collapse)AuthorAge
* Sync OpenBSD patchset 999:Tiago Cunha2012-01-20
| | | | | | Add an option to disable the window rename escape sequence, from Romain Francoise.
* Sync OpenBSD patchset 994:Tiago Cunha2011-12-30
| | | | | Add CNL and CPL escape sequences.
* Sync OpenBSD patchset 992:Tiago Cunha2011-12-30
| | | | | Add \033[s and \033[u to save and restore cursor position.
* Sync OpenBSD patchset 969:Tiago Cunha2011-10-23
| | | | | | Support for \e[3J to clear the history. Also send the corresponding terminfo code (E3) before locking.
* Sync OpenBSD patchset 933:Tiago Cunha2011-07-08
| | | | | Fix a couple of comments.
* 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 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 864:Tiago Cunha2011-03-19
| | | | | | Fix a typo that meant we did not reset the background colour when it was omitted in a 256-colour SGR ([48;5m). From Yusuke ENDOH.
* Sync OpenBSD patchset 857:Tiago Cunha2011-02-15
| | | | | | Use input_clear to reset the APC, DCS, OSC state or it could be reused improperly by a later state. From Kevin Goodsell.
* 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 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.
* Sync OpenBSD patchset 807:Tiago Cunha2010-12-25
| | | | | Style tweaks.
* Add an option to alert (monitor) for silence (lack of activity) in aNicholas Marriott2010-12-06
| | | | | window. From Thomas Adam.
* Sync OpenBSD patchset 683:Tiago Cunha2010-04-18
| | | | | | Fix typo in escape state table leading to fatal() when \033} or \033~ was entered, from Chris Johnsen.
* New input parser based on http://vt100.net/emu/dec_ansi_parser.Nicholas Marriott2010-03-15
|
* Sync OpenBSD patchset 642:Tiago Cunha2010-02-08
| | | | | | Add an option to disable the smcup/rmcup alternate screen behaviour inside tmux. From clemens fischer.
* Sync OpenBSD patchset 599:Tiago Cunha2010-01-08
| | | | | Correctly clear 256-colour flag for aixterm colours.
* Sync OpenBSD patchset 589:Tiago Cunha2009-12-16
| | | | | | Pass through the aixterm bright colours if the terminal supports them (>= 16 colours).
* Sync OpenBSD patchset 581:Tiago Cunha2009-12-04
| | | | | | | Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
* Sync OpenBSD patchset 574:Tiago Cunha2009-11-28
| | | | | Add a couple of comments.
* Sync OpenBSD patchset 498:Tiago Cunha2009-11-08
| | | | | | | | Convert the window pane (pty master side) fd over to use a bufferevent. 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.
* Sync OpenBSD patchset 467:Tiago Cunha2009-10-28
| | | | | tabs are better; ok nicm
* Sync OpenBSD patchset 441:Tiago Cunha2009-10-25
| | | | | | | Support the bright fg/bg colour SGR 90-97 and 100-107. Reported by Tim Allen.
* Sync OpenBSD patchset 424:Tiago Cunha2009-10-23
| | | | | %zu not %u, doh.
* Sync OpenBSD patchset 421:Tiago Cunha2009-10-23
| | | | | | | | | | | | | | | Try to reduce the UTF-8 mess. 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.
* Sync OpenBSD patchset 408:Tiago Cunha2009-10-15
| | | | | Handle DECCOLM by just emulating its side-effect of clearing the screen.
* Sync OpenBSD patchset 400:Tiago Cunha2009-10-15
| | | | | | | | | | When backspace is received at the beginning of a line and the previous line was 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...
* Sync OpenBSD patchset 281:Tiago Cunha2009-08-21
| | | | | Nuke unused variable.
* Sync OpenBSD patchset 280:Tiago Cunha2009-08-20
| | | | | Handle the device attributes (DA) escape sequence.
* Sync OpenBSD patchset 275:Tiago Cunha2009-08-20
| | | | | | | | | Instead of just checking for an empty buffer, which may not be the case if 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.
* Didn't mean to commit this stuff.Nicholas Marriott2009-08-19
|
* This is a better fix for OS X stupidity.Nicholas Marriott2009-08-19
|
* Sync OpenBSD patchset 227:Tiago Cunha2009-08-09
| | | | | | | Add a flags member to the grid_line struct and use it to differentiate lines wrapped at the screen edge from those terminated by a newline. Then use this when copying to combine wrapped lines together into one.
* Sync OpenBSD patchset 223:Tiago Cunha2009-08-09
| | | | | | | | Using the alternative screen (smcup/rmcup) should also preserve the current colours and attributes. Found thanks to a report from Taylor Venable. While here also nuke a couple of extra blank lines.
* Sync OpenBSD patchset 155:Tiago Cunha2009-07-22
| | | | | | Make some functions which return unused values void (mostly found by lint) and tweak a redundant expression in window_pane_set_mode.
* Support "alternate screen" mode (terminfo smcup/rmcup) typically used by fullNicholas Marriott2009-07-14
| | | | | | | | 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.
* Restore $Id$ and add script to do so.Nicholas Marriott2009-06-25
|
* Implement the CBT (backward tab) sequence (\033[Z).Nicholas Marriott2009-06-25
|
* Proper support for tab stops (\033H etc), using a bitstring(3). Makes anotherNicholas Marriott2009-06-25
| | | | | vttest test happy.
* Okay, so I screwed up when testing this, doh. Unbreak so that CAN/SUB actuallyNicholas Marriott2009-06-25
| | | | | 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 remainNicholas Marriott2009-06-25
| | | | | in the same state.
* More input compatibility love. Support C0 within escape sequences, and the C0Nicholas Marriott2009-06-25
| | | | | | 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 theNicholas Marriott2009-06-25
| | | | | | 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 stateNicholas Marriott2009-06-25
| | | | | | machine but top-bit-set nonprintables could cause trouble, and they are neater like this anyway.
* Space trimmage mega-diff.Nicholas Marriott2009-05-04
|
* Support NEL.Nicholas Marriott2009-04-23
|
* Better UTF-8 support, including combined characters. Unicode data is now storedNicholas Marriott2009-03-28
| | | | | | | | | | | as UTF-8 in a separate array, the code does a lookup into this every time it gets to a UTF-8 cell. Zero width characters are just appended onto the UTF-8 data for the previous cell. This also means that almost no bytes extra are wasted non-Unicode data (yay). Still some oddities, such as copy mode skips over wide characters in a strange way, and the code could do with some tidying.
* Step 2 of the Grand Plan To Make UTF-8 Better.Nicholas Marriott2009-03-28
| | | | | | | | | | | | | | | | | | | Split grid into two arrays, one containing grid attributes/flags/colours (keeps the name grid_cell for now) and a separate with the character data (called text). The text is stored as a u_short but is treated as a uint64_t elsewhere; eventually the grid will have two arrays. I'm not happy with the naming so that might change. Still need to decide where to go from here. I'm not sure whether to combine the peek/set functions together, and also whether to continue to treat the text as a uint64_t (and convert to/from Unicode) or make it a char array (of size one when UTF-8 disabled, eight when enabled) and keep everything as UTF-8. Also since UTF-8 will eventually become an attribute of the grid itself it might be nice to move all the padding crap into grid.c.