aboutsummaryrefslogtreecommitdiff
path: root/tty.c
Commit message (Collapse)AuthorAge
* Sync OpenBSD patchset 302:Tiago Cunha2009-08-31
| | | | | | | Add a new display-panes command, with two options (display-panes-colour and display-panes-time), which displays a visual indication of the number of each pane.
* Sync OpenBSD patchset 287:Tiago Cunha2009-08-21
| | | | | Emulate dch/dch1 if missing by redrawing the entire line.
* This is a better fix for OS X stupidity.Nicholas Marriott2009-08-19
|
* Sync OpenBSD patchset 262:Tiago Cunha2009-08-16
| | | | | | | Send SGR0 when initialising the screen. Fixes problems on terminals with BCE (like putty) if the background colours is non-default when tmux starts. May also fix problems when resuming a suspended tmux.
* Sync OpenBSD patchset 250:Tiago Cunha2009-08-14
| | | | | | | | | A tty context must not be modified as it may be reused to update multiple clients, so make it const. Also fix an actual modification which caused a hang when a session was connected to multiple terminals at least one of which was missing ich/ich1.
* Sync OpenBSD patchset 247:Tiago Cunha2009-08-14
| | | | | | | | Initialise log_fd to -1, prevents spurious disconnection of the client when it ends up as fd 0 (likely if the server is started with "tmux start"). Also add some extra debugging messages to server.c.
* Sync OpenBSD patchset 246:Tiago Cunha2009-08-14
| | | | | | | | | | | Have the client pass its stdin fd to the server when identifying itself and have the server use that rather than reopening the tty. If the fd isn't given, use the old behaviour (so no need for a version change). This allows tmux to be used as the shell, so also change so that when working out the command to execute if default-command is empty (the default), tmux will try not execute itself.
* Sync OpenBSD patchset 245:Tiago Cunha2009-08-14
| | | | | Add a TTY_OPENED flag and tidy a little.
* Sync OpenBSD patchset 244:Tiago Cunha2009-08-14
| | | | | | Drop the no_stop argument to tty_close and tty_free in favour of a flag in the tty struct.
* Sync OpenBSD patchset 226:Tiago Cunha2009-08-09
| | | | | | | | | | | | | | Change the way the grid is stored, previously it was: - a two-dimensional array of cells; - a two-dimensional array of utf8 data; - an array of line lengths. Now it is a single array of a new struct grid_line each of which represents a line and contains the length and an array of cells and an array of utf8 data. This will make it easier to add additional per-line members, such as flags.
* Sync OpenBSD patchset 220:Tiago Cunha2009-08-09
| | | | | | | | | | If colours are not supported by the terminal, try to emulate a coloured background by setting or clearing the reverse attribute. This makes a few applications which don't use the reverse attribute themselves a little happier, and allows the status, message and mode options to have default attributes and fg/bg options that work as expected when set as reverse.
* Sync OpenBSD patchset 211:Tiago Cunha2009-08-09
| | | | | | | | | | Add a terminal-overrides session option allowing individual terminfo(5) entries to be overridden. The 88col/256col checks are now moved into the default setting and out of the code. Also remove a couple of old workarounds for xterm and rxvt which are no longer necessary (tmux can emulate them if missing).
* Sync OpenBSD patchset 186:Tiago Cunha2009-07-28
| | | | | Draw UTF-8 characters under the selection correctly.
* Sync OpenBSD patchset 164:Tiago Cunha2009-07-23
| | | | | | tty_write is relatively short and the only function left in tty-write.c so move it into tty.c.
* Sync OpenBSD patchset 162:Tiago Cunha2009-07-23
| | | | | | More tty code tidying: move the saved cursor/region position (from before the screen was updated) out of struct screen and into struct tty_ctx.
* Sync OpenBSD patchset 160:Tiago Cunha2009-07-23
| | | | | | | enum tty_cmd is only used as an index into the array of command function pointers, so remove it and use the function pointers directly to represent themselves.
* Sync OpenBSD patchset 159:Tiago Cunha2009-07-22
| | | | | | There are relatively few arguments to tty_cmd_* functions now, so tidy them up by using a struct rather than hiding everything with varargs.
* Sync OpenBSD patchset 158:Tiago Cunha2009-07-22
| | | | | | tty_cmd_raw is only used once, for raw UTF-8 output, so rename it to tty_cmd_utf8character and eliminate the size argument.
* Don't send initialisation strings is1/2/3 (barely anything else does) and moveNicholas Marriott2009-07-12
| | | | | | smcup to the first and rmcup to the last sequences output to the terminal. This allows tmux to use the alternate screen (smcup/rmcup) when available.
* Fix $Id$.Nicholas Marriott2009-07-08
|
* Handle empty or unset TERM correctly; also fix a fatal() message while here.Nicholas Marriott2009-07-08
|
* $Id$.Nicholas Marriott2009-07-01
|
* Fix $Id$.Nicholas Marriott2009-06-29
|
* Copy the 256-colour flag into the tty saved cell as well as the actual colour,Nicholas Marriott2009-06-29
| | | | | otherwise colour 8 isn't reset.
* Whitespace and more syncing.Nicholas Marriott2009-06-25
|
* Restore $Id$ and add script to do so.Nicholas Marriott2009-06-25
|
* Miscellaneous unused functions, including one which was basically aNicholas Marriott2009-06-25
| | | | | duplicate. Found by lint.
* Unused variables. Found by lint, no binary change.Nicholas Marriott2009-06-25
|
* Trying to predict the cursor position for UTF-8 output in the same way as forNicholas Marriott2009-06-25
| | | | | | | normal eight-bit output is wrong, separate it into a different function. Fixes spacing when mixing UTF-8 with some escape sequences, notably the way w3m does it.
* 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.
* Fix some miscalculations when clearing to start of screen: the number of linesNicholas Marriott2009-06-25
| | | | | to the cursor is cy not cy - 1, and the current cursor cell should be included.
* UTF-8 detection is broken on sparc64; disable until I get time to test it ↵Nicholas Marriott2009-06-24
| | | | further.
* Try to guess if the window is UTF-8 by outputting a three-byte UTF-8 wide ↵Nicholas Marriott2009-05-19
| | | | character and seeing how much the cursor moves. Currently tries to figure out if this works by some stupid checks on the terminal, these need to be rethought. Also might be better using a width 1 character rather than width 2.
* Don't force wrapping with \n when asked, let the cursor code figure it out. ↵Nicholas Marriott2009-05-14
| | | | Should fix terminals which use this to detect line breaks.
* Space trimmage mega-diff.Nicholas Marriott2009-05-04
|
* Region can reset cursor to 0,0 - bad if there is an offset. So sort out ↵Nicholas Marriott2009-05-04
| | | | region before cursor.
* Use ACS for line drawing characters.Nicholas Marriott2009-05-04
|
* Use a u_char so top-bit-set update the cursor as well.Nicholas Marriott2009-04-29
|
* Ignore del too.Nicholas Marriott2009-04-29
|
* Change scroll/pane redraws to only redraw the single pane affected rather thanNicholas Marriott2009-04-02
| | | | | the entire window.
* If redrawing the region would mean redrawing > half the pane, just schedule toNicholas Marriott2009-04-02
| | | | | | | redraw the entire window. Also add a flag to skip updating the window any further if it is scheduled to be redrawn. This has the effect of batching multiple redraws together.
* Basic horizontal splitting and layout management. Still some redraw and otherNicholas Marriott2009-04-01
| | | | | | | | | | | issues - particularly, don't mix with manual pane resizing and be careful when viewing from multiple clients; generally cycling the layout a few times will fix most problems. Getting this in for testing while I think about how to deal with manual mode. Split window as normal and cycle the layouts with C-b space. Some of the layouts will work better when swap-pane comes along.
* FD_CLOEXEC more fds. Still one I can't find...Nicholas Marriott2009-03-31
|
* Draw vertical line on the right when window size is limited.Nicholas Marriott2009-03-31
|
* - Unbreak selection colouring.Nicholas Marriott2009-03-30
| | | | | - Get UTF-8 check the right way round...
* 8 -> UTF8_SIZE.Nicholas Marriott2009-03-29
|
* 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.
* Clear using ED when redrawing the screen. I foolishly assumed using spacesNicholas Marriott2009-03-28
| | | | | | would be equivalent and terminals would pick up on this, but apparently not. This fixes copy and paste in xterm/rxvt.
* Whoops. Didn't mean to commit this yet.Nicholas Marriott2009-03-27
|