aboutsummaryrefslogtreecommitdiff
path: root/tty.c
Commit message (Collapse)AuthorAge
...
* To replace c0-*, add a high watermark to the pty event, and also backoffnicm2015-05-12
| | | | | when the any of the ttys the pane is going to write to has buffered enough data.
* Turn cursor off during redraw, pointed out by George Nachman.nicm2015-05-06
|
* If default-terminal is set to "screen" or "screen-*", emulate screen'snicm2015-04-29
| | | | | | | | | | | | | | | | historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso. People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts). As a side-effect this changes default-terminal to be a server rather than a session option. suggested by and ok naddy
* Explicitly cancel mouse "button" mode, this happens implicitly with somenicm2015-04-25
| | | | | one of the other things we send with xterm, but not with urxvt. Reported by sthen@.
* Convert clients list into a TAILQ.nicm2015-04-24
|
* Rewrite of tmux mouse support which was a mess. Instead of havingnicm2015-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on). See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event). The default builtin bindings for the mouse are: bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M To get the effect of turning mode-mouse off, do: unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
* Support setting the default window and pane background colours (windownicm2015-04-19
| | | | | and active pane via window-style and window-active-style options, an individual pane by a new select-pane -P flag). From J Raynor.
* Fix some issues in bright colour handling. Bold background doesn't existnicm2015-04-15
| | | | | | | | so there is no reason for tty_check_bg to mess with the BRIGHT flag at all, ever. Also use aixterm colours for 256-to-16 translation if the terminal supports them. And there is no reason for tty_colours_bg to worry about whether the terminal supports them - tty_check_bg has already taken care of it.
* Use tty_term_flag not _has for flags, also fix a typo (position notnicm2015-04-15
| | | | permission).
* Reset bracket paste mode on detach.nicm2015-02-05
|
* Focus off needs to be sent with tty_raw, reported by Geoff Nixon.nicm2015-01-30
|
* Support blinking cursor mode, both the xterm CSI ?12 h/l and (thenicm2015-01-20
| | | | backwards) screen CSI 34 h/l. From Guanpeng Xu.
* Remove support for the continuous reporting "any" mouse mode which nevernicm2014-08-09
| | | | really worked properly and is rarely used.
* specifying ECHOCTL once is enoughjsg2014-04-25
| | | | ok nicm@
* Some more long lines.nicm2014-04-17
|
* Wrap some long lines.nicm2014-04-17
|
* Change terminal-overrides to a server option (now that we have them), itnicm2014-02-23
| | | | doesn't make much sense as a session option.
* If the terminfo entry has colors#256, assume that setaf and setab worknicm2014-02-14
| | | | | | | and use them for the 256 colour set. If the terminfo entry doesn't have colors#256 and the user gives -2 to the client, use a \033[38;5;Xm sequence as before. Should allow fbterm to work with it's weird setaf and setab.
* Allow replacing each of the many sets of separate foo-{fg,bg,attr}nicm2014-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | options with a single foo-style option. For example: set -g status-fg yellow set -g status-bg red set -g status-attr blink Becomes: set -g status-style fg=yellow,bg=red,blink The -a flag to set can be used to add to rather than replace a style. So: set -g status-bg red Becomes: set -ag status-style bg=red Currently this is fully backwards compatible (all *-{fg,bg,attr} options remain) but the plan is to deprecate them over time. From Tiago Cunha.
* Don't turn on modifyOtherKeys by default, it is annoying if tmux isnicm2013-10-20
| | | | | killed and it's left on and we can't turn it on and off like we do for attributes. It's not hard to enable in .Xresources or .Xdefaults anyway.
* Focus events can cause trouble if left on and they can't be turned offNicholas Marriott2013-06-23
| | | | | during idle periods (like the other states are) because we'd miss events. So add a server option to control them. Defaults to off.
* revert r1.156 "Add support for focus notifications when tmux pane changes"Stuart Henderson2013-06-11
| | | | | beck@ found annoying beeps if a machine was shutdown while tmux is running and you then focus in/out of an xterm; kettenis tracked it down to 1.156.
* The actual terminfo entries we ended up with for cursor changes are Cs,Nicholas Marriott2013-06-02
| | | | | Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead of the ones we were using earlier.
* Send an SGR0 after turning on modifyOtherKeys to fix Terminal.app whichNicholas Marriott2013-04-11
| | | | | treats \033[>4;1m and \033[4;1m (bold+underline). Reported & tested by otto@.
* Remove tmux's (already minimal) 88 colour support. Such terminals areNicholas Marriott2013-03-27
| | | | few and unnecessary.
* Handle focus events from the terminal, from Aaron Jensen.Nicholas Marriott2013-03-24
|
* Use tty_raw on stop, not tty_puts.Nicholas Marriott2013-03-22
|
* Correctly handle UTF8 mouse option being toggled, from Egmont Koblinger.Nicholas Marriott2013-03-22
|
* Include the \033 in the key tree and adjust key matching for this change.Nicholas Marriott2013-03-21
|
* Tidy by splitting default key tables into two.Nicholas Marriott2013-03-21
|
* Rather than having two grids for each pane, one for ASCII and one forNicholas Marriott2013-01-18
| | | | | UTF-8, collapse the two together. Simplifies the code at the expense of more memory (which can probably be reduced again later).
* Implement ECH (erase character, CSI X). Reported by Christian Neukirchen.Nicholas Marriott2013-01-15
|
* Put helper function back, will be needed in a bit.Nicholas Marriott2012-11-22
|
* Do not test client flags against TTY_FREEZE bit, reported by Tom Ryder.Nicholas Marriott2012-09-29
|
* We can't tell what the terminal has done with a DCS string, so reset theNicholas Marriott2012-09-05
| | | | cursor and attributes afterwards.
* Remove xterm CRA support - support is patchy and it will be done betterNicholas Marriott2012-09-03
| | | | using margins.
* Tidy up tty_write, from Sean Estabrooks.Nicholas Marriott2012-08-14
|
* xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
|
* Remove a couple of unused variables from redbrain at gcc dot gnu dot org.Nicholas Marriott2012-06-20
|
* Store client in tty struct directly instead of using a callback functionNicholas Marriott2012-05-22
| | | | pointer.
* Use tty_pane_full_width macro in some more places.Nicholas Marriott2012-05-22
|
* If there are any terminals with insert mode but not ich1, they can goNicholas Marriott2012-05-22
| | | | through the slow path. Tidies code slightly.
* Move some common code to repeat spaces into a function.Nicholas Marriott2012-05-22
|
* Tidy up by adding a macro for the pane being the full screen width, fromNicholas Marriott2012-05-05
| | | | Ailin Nemui.
* Missing ()s in macros.Nicholas Marriott2012-05-05
|
* Pull CRA out into a separate function and add ERA, from Ailin Nemui.Nicholas Marriott2012-05-05
|
* Add a simple form of output rate limiting by counting the number ofNicholas Marriott2012-03-20
| | | | | | | | | | | | | | | | | | certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval. This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility). After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.
* On xterm 271 and later, put the terminal into SCL 5 and use DECCRA forNicholas Marriott2012-03-17
| | | | | scrolling the region in panes (if the large region check isn't hit). With help from Ailin Nemui.
* Break out termios initialization into a separate function, from GeorgeNicholas Marriott2012-03-17
| | | | Nachman.
* Do not clear to end of line if the line is full, fixes missing lastNicholas Marriott2012-03-17
| | | | character in rightmost pane.