aboutsummaryrefslogtreecommitdiff
path: root/tty.c
Commit message (Collapse)AuthorAge
...
* Long overdue change to the way we store cells in the grid: now, insteadnicm2015-11-13
| | | | | | | | | | | | | | | of storing a full grid_cell with UTF-8 data and everything, store a new type grid_cell_entry. This can either be the cell itself (for ASCII cells), or an offset into an extended array (per line) for UTF-8 data. This avoid a large (8 byte) overhead on non-UTF-8 cells (by far the majority for most users) without the complexity of the shadow array we had before. Grid memory without any UTF-8 is about half. The disadvantage that cells can no longer be modified in place and need to be copied out of the grid and back but it turned out to be lot less complicated than I expected.
* The output log is only useful once and it means creating a file, so opennicm2015-10-31
| | | | it once at startup instead of in every call to tty_open.
* Move struct options into options.c.nicm2015-10-27
|
* Remove some unnecessary checks before free().nicm2015-10-23
|
* Use tty_term_flag not _has for XT, and make -2 force direct use ofnicm2015-10-23
| | | | 256-colour escape sequences (so setaf/setab can be bypassed if needed).
* If the terminal has colors=256, only try to use setaf/setab if theynicm2015-09-25
| | | | exist, reported by Filipe Brandenburger.
* A one line helper function is a little silly.nicm2015-09-02
|
* We no longer need the terminal service class, so don't bother asking for it.nicm2015-09-02
|
* Fix line endings.nicm2015-07-13
|
* Initialize cwd fd to -1 so that we don't close fd 0 if the client isnicm2015-07-13
| | | | | destroyed before it is changed. Also allow ttyname() to fail. Fixes problems when running out of file descriptors reported by Bruno Sutic.
* In terminfo, sometimes cvvis implies cnorm and sometimes it doesn't, sonicm2015-05-19
| | | | don't assume it does. Fixes missing cursor with emacs-in-tmux-in-tmux.
* 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
|