summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/tty.c
AgeCommit message (Collapse)Author
2011-05-08Use the tsl and fsl terminfo(5) capabilities to update terminal titleNicholas Marriott
and automatically fill them in on terminals with the XT capability (which means their title setting is xterm-compatible). From hsim at gmx.li.
2011-04-09If the terminal supports sitm for italics, use it instead of standoutNicholas Marriott
(smso). From Tiago Resende.
2011-03-27Set the terminal blocking again earlier, before sending the resetNicholas Marriott
sequences.
2011-03-26Fix to properly wrap wide characters, from Micah Cowan.Nicholas Marriott
2011-03-08Fix an incorrect test which was always true (oupper is always < olower),Nicholas Marriott
from Yusuke ENDOH.
2011-03-07Support passing through escape sequences to the underlying terminal byNicholas Marriott
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.
2011-01-29Accept tcgetattr/tcsetattr failure, fixes problems with fatal() if theNicholas Marriott
terminal disappears while locked.
2011-01-15Only set a mouse mode for mouse-select-pane if none already set by theNicholas Marriott
mode (any will do).
2011-01-15Mouse highlight mode (1001) requires a program to cooperate soNicholas Marriott
supporting it through tmux is not as easy as this, remove it for now.
2011-01-08Move all calls to fcntl(...O_NONBLOCK) into a function and clear theNicholas Marriott
flag on the stdio file descriptors before closing them (fixes things like "tmux ls && cat").
2011-01-03Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262Nicholas Marriott
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.
2010-12-29Support all four of the xterm mouse modes. Based on a diff from hsim atNicholas Marriott
gmx.li.
2010-11-22There is somewhere that WINDOW_HIDDEN is getting set when it shouldn'tNicholas Marriott
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.
2010-10-16Trying to set FD_CLOEXEC on every fd is a lost cause, just useNicholas Marriott
closefrom() before exec.
2010-09-11Ugh. Pass the right type into tty_term_has. Teaches me to make lastNicholas Marriott
minute changes :-/.
2010-09-11Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupidNicholas Marriott
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.
2010-08-11Change the way backoff works. Instead of stopping reading from the ptyNicholas Marriott
when the client tty backs up too much, just stop updating the tty and only update the internal screen. Then when the tty recovers, force a redraw. This prevents a dodgy client from causing other clients to go into backoff while still allowing tmux to be responsive (locally) when seeing lots of output.
2010-06-05Fix problems with window sizing seen by Raghavendra D Prabhu whenNicholas Marriott
starting tmux from .xinitrc. One of the very few things the server relies on the client for now is to pass through a message on SIGWINCH, but there is a condition where potentially a SIGWINCH may be lost during the transition from unattached (main.c) to attached (client.c). So trigger a size change immediately after the client installs its SIGWINCH handler. Also, when the terminal is resized, reset the scroll region and cursor position. Previously, we were clearing our saved idea of these, but in fact some terminals do not reset them on resize, so this caused problems during redraw. While here make a resize to the same size not cause a redraw and rename the tmux.out output log file to include the tmux PID.
2010-06-05Shut up gcc4 warnings.Nicholas Marriott
2010-05-31When the mode-mouse option is on, support dragging to make a selectionNicholas Marriott
in copy mode. Also support the scroll wheel, although xterm strangely does not ignore it in application mouse mode, causing redraw artifacts when scrolling up (other terminals appear to be better behaved).
2010-03-01Check for colour and attribute modifications early so the translatedNicholas Marriott
values can be stored in the cached terminal attributes rather than the requested (untranslated) values. Prevents tmux clearing and setting the attributes for every character when using aixterm colours.
2010-02-24Don't set the terminal to nonblocking on detach until we have finished with itNicholas Marriott
entirely.
2010-02-01If redrawing line 0 of the screen onto the tty, there can't be a wrap flag onNicholas Marriott
the previous line, so move the cursor. Fixes status line redraw issues when resizing in choose mode and hopefully at other times as well.
2010-01-01Use tcflush(3) instead of TIOCFLUSH, from Ed Schouten.Nicholas Marriott
2009-12-26Fix the logic so that transition from a 256 colour to default works properly.Nicholas Marriott
2009-12-26Nuke some stray debugging.Nicholas Marriott
2009-12-14Pass through the aixterm bright colours if the terminal supports them (>= 16Nicholas Marriott
colours).
2009-12-04vte is buggy and doesn't home the cursor after changing the scrollNicholas Marriott
region. Several people are hitting this, so add a workaround.
2009-12-03Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott
time now I've configured emacs to make them displayed in really annoying colours...
2009-12-02Reflect the keypad mode of the application so that numlock works.Nicholas Marriott
2009-11-27Add a couple of comments.Nicholas Marriott
2009-11-26Fix type - attributes should be u_char not int.Nicholas Marriott
2009-11-26Remove a couple of unused arguments where possible, and add /* ARGSUSED */ toNicholas Marriott
the rest to reduce lint output.
2009-11-26Emulate il1, dl1, ich1 to run (albeit slowly) with vt100 feature set.Nicholas Marriott
2009-11-18Cleanup by moving various (mostly horrible) little bits handling UTF-8 gridNicholas Marriott
data into functions in a new file, grid-utf8.c, and use sizeof intead of UTF8_DATA. Also nuke trailing whitespace from tmux.1, reminded by jmc.
2009-11-12Emulate the ri (reverse index) capability: this allows tmux to at least startNicholas Marriott
on Sun consoles (TERM=sun or sun-color), even if there appear to still be problems on some boxes (my Blade 100 is fine but edd's Blade 1000 shows odd screen corruption).
2009-11-09Just ignore tty fd errors rather than dying, stops the server dying if theNicholas Marriott
session is disconnected abrubtly (eg ssh ~.).
2009-11-05Clear to the end of the screen from the right starting point when drawingNicholas Marriott
line-by-line (in panes or if ed not supported). Fixes problem spotted by Frank Terbeck.
2009-11-05Switch tty key input over to happen on a read event. This is a bit moreNicholas Marriott
complicated because of escape input, but in that case instead of processing a key immediately, schedule a timer and reprocess the bufer when it expires. This currently assumes that keys will be atomic (ie that if eg F1 is pressed the entire sequence is present in the buffer). This is usually but not always true, a change in the tree format so it can differentiate potential (partial) key sequences will happens soon and will allow this to be fixed.
2009-11-04Switch tty fds over to a bufferevent.Nicholas Marriott
2009-11-04Ignore the colour on space, /not/ the attributes.Nicholas Marriott
2009-11-04Fix the reverse emulation when a terminal doesn't have setab to use the correctNicholas Marriott
fg/bg (adjusted if spaces) and happen before attribute setting.
2009-10-28Add a minor optimisatin: if the character being printed is space, don't worryNicholas Marriott
about setting the background colour or attributes (except reverse).
2009-10-28Twaek this slightly to avoid confusing use of flags variable.Nicholas Marriott
2009-10-28Setting SGR0 when setting the fg and bg has problems if only one of the two isNicholas Marriott
meant to be default, so rewrite the code to move this outside, move setting colours before attributes and generally clean up. Tested by sthen@, fixes problems he was seeing with mutt and should fix some existing problems with (rarely) lost attributes.
2009-10-26tabs are better; ok nicmTheo de Raadt
2009-10-25Remove the -d flag to tmux and just use op/AX to detect default colours.Nicholas Marriott
Irritatingly, although op can be used to tell if a terminal supports default colours, it can't be used to set them because in some terminfo descriptions it resets attributes as a side-effect (acts as sgr0) and in others it doesn't, so it is not possible to determine reliably what the terminal state will be afterwards. So if AX is missing and op is present, tmux just sends sgr0. Anyone using -d for a terminal who finds they actually needed it can replace it using terminal-overrides, but please let me know as it is probably an omission from terminfo.
2009-10-21Unused variable.Nicholas Marriott
2009-10-21Now we are correctly not redrawing the whole pane on linefeed, redo theNicholas Marriott
last-cursor-position code to move to the right position when panes reach EOL.
2009-10-21Don't redraw the scroll region on linefeed/reverse index unless it is necessaryNicholas Marriott
(the cursor is at the bottom/top). Should fix slow cursor movement when using vi in a pane spotted by pirofti@.