summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/input.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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