aboutsummaryrefslogtreecommitdiff
path: root/tty.c
Commit message (Collapse)AuthorAge
...
* Add support for the OSC 4 and OSC 104 palette setting escape sequences,nicm2017-01-07
| | | | from S Gilles.
* Only skip moving the cursor if it is already in the last position _onnicm2016-12-07
| | | | the same line_, fixes redraw bug reported by patrick keshishian.
* Fix check for cursor at end of line.nicm2016-11-30
|
* When comparing ocy to orlower in tty_cmd_cell, there is no need to addnicm2016-11-28
| | | | | yoff (because they are both already relative to the pane). Also fix some other minor nits.
* Fix calculation of whether we need a region for drawing a cell (only ifnicm2016-11-16
| | | | full width and at the edge of the region), otherwise clear the region entirely.
* Turn on margins, with a couple of fixes (only limit to the pane for linenicm2016-11-15
| | | | feeds, and do not move cursor to end for full width panes).
* And of course I just find a bug, disable previous for now.nicm2016-11-15
|
* Initial attempt to make use of left and right margins if the terminalnicm2016-11-15
| | | | | | | supports them (that is, if it advertises itself as a VT420 - probably just xterm). These are the vertical equivalent of the scroll region and allow much faster scrolling of panes that do not take up the full width of the terminal.
* Don't make assumptions about line wrap on !xenl terminals, means thatnicm2016-10-14
| | | | | using a wrong TERM without xenl is not so broken if used on a sensible terminal.
* Add support for BCE (background colour erase). This makes various escapenicm2016-10-13
| | | | | | | | | | | | sequences (notable EL and ED but also IL, DL, ICH, DCH) create blank cells using the current background colour rather than the default colour. On modern systems BCE doesn't really have many benefits, but most other terminals now support it, some (lazy) applications rely on it, and it is not hard to include now that we have pane background colours anyway. Mostly written by Sean Haugh.
* Redraw selection in tty_draw_line, so it appears when redrawing wholenicm2016-10-12
| | | | pane. Reported by Theo Buehler.
* Add static in window-*.c and move some internal functions out of tmux.h.nicm2016-10-11
|
* Loads more static, except for cmd-*.c and window-*.c.nicm2016-10-10
|
* Remove some redundant checks and make ich/dch consistent.nicm2016-10-03
|
* Don't update cells in each block of data read from a pane immediately,nicm2016-07-15
| | | | | | instead track them as change (dirty) and update them once at the end, saves much time if repeatedly writing the same cell. Also fix comparison of cells being equal in a few places (memcmp is not enough).
* Cache the window styles and do not look up the window-style optionsnicm2016-05-30
| | | | unless they have changed.
* Send two cub1 instead of using cub for moving the cursor two left. Thisnicm2016-05-30
| | | | | is normally better because using cub1 will be ^H^H (so two bytes) but cub would be ^[[2D (four).
* tty_client_ready can not be internal to tty.c again.nicm2016-04-30
|
* RGB colours shouldn't be mixed up with aixterm colours, return beforenicm2016-03-03
| | | | that happens when working out if they are supported.
* Support for RGB colour, using the extended cell mechanism to avoidnicm2016-01-29
| | | | | | | | wasting unnecessary space. The 'Tc' flag must be set in the external TERM entry (using terminal-overrides or a custom terminfo entry), if not tmux will map to the closest of the 256 or 16 colour palettes. Mostly from Suraj N Kurapati, based on a diff originally by someone else.
* I no longer use my SourceForge address so replace it.nicm2016-01-19
|
* Couple of trivial style nits.nicm2015-12-28
|
* Style nits and line wrapping of function declarations.nicm2015-12-11
|
* Remove support for the UTF-8 mouse extension. This was a briefly used,nicm2015-11-23
| | | | | | | | poor idea that was fairly quickly replaced by SGR mouse input (which is now widespread). It is impossible to tell the difference between UTF-8 and non-UTF-8 mouse input; since the mouse-utf8 option was removed tmux has not handled it correctly in any case; and it is ridiculous to have three different forms of mouse input.
* Use __unused rather than rolling our own.nicm2015-11-18
|
* 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@