Nicholas Marriott
df912e3540
xfree is not particularly helpful, remove it. From Thomas Adam.
2012-07-10 11:53:01 +00:00
Nicholas Marriott
a7917430d8
Remove a couple of unused variables from redbrain at gcc dot gnu dot org.
2012-06-20 12:55:55 +00:00
Nicholas Marriott
84c708f355
Store client in tty struct directly instead of using a callback function
...
pointer.
2012-05-22 14:32:28 +00:00
Nicholas Marriott
82b053a811
Use tty_pane_full_width macro in some more places.
2012-05-22 09:37:54 +00:00
Nicholas Marriott
2f93affb98
If there are any terminals with insert mode but not ich1, they can go
...
through the slow path. Tidies code slightly.
2012-05-22 09:36:12 +00:00
Nicholas Marriott
243d12752c
Move some common code to repeat spaces into a function.
2012-05-22 09:09:16 +00:00
Nicholas Marriott
96a34a0c0a
Tidy up by adding a macro for the pane being the full screen width, from
...
Ailin Nemui.
2012-05-05 18:45:55 +00:00
Nicholas Marriott
132403b6be
Missing ()s in macros.
2012-05-05 18:31:09 +00:00
Nicholas Marriott
3e6454f2d6
Pull CRA out into a separate function and add ERA, from Ailin Nemui.
2012-05-05 18:17:59 +00:00
Nicholas Marriott
f59971276a
Add a simple form of output rate limiting by counting the number of
...
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.
2012-03-20 11:01:00 +00:00
Nicholas Marriott
d8805af66b
On xterm 271 and later, put the terminal into SCL 5 and use DECCRA for
...
scrolling the region in panes (if the large region check isn't
hit). With help from Ailin Nemui.
2012-03-17 22:56:04 +00:00
Nicholas Marriott
889fe42e11
Break out termios initialization into a separate function, from George
...
Nachman.
2012-03-17 21:27:51 +00:00
Nicholas Marriott
164e85cca7
Do not clear to end of line if the line is full, fixes missing last
...
character in rightmost pane.
2012-03-17 19:29:46 +00:00
Nicholas Marriott
0b34fefe6e
Use the region lower not the pane size to work out where the bottom line
...
is.
2012-03-17 19:18:37 +00:00
Nicholas Marriott
928f40615c
Tweak last fix to actually hit the right end of pane.
2012-03-17 18:51:50 +00:00
Nicholas Marriott
d3c842d367
Check event_initialized before event_del if event may not have been set
...
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
2012-03-17 18:24:07 +00:00
Nicholas Marriott
0489213b1b
Revert screen-write.c r1.54 and fix the bug properly. After wrapping a
...
line in a pane, the cursor needs to move to the next line unless it
scrolled.
2012-03-17 17:36:03 +00:00
Nicholas Marriott
c8c0d68128
Send secondary DA to terminals with XT in terminfo when starting up and
...
parse it to work out the xterm version.
2012-03-15 10:36:00 +00:00
Nicholas Marriott
005566f915
Fix a warning. Doh.
2012-03-15 09:22:31 +00:00
Nicholas Marriott
698361ccde
Add a helper function for enabling an optimization to make some code
...
clearer.
2012-03-15 09:10:33 +00:00
Nicholas Marriott
575bfa4b4b
Erm, use EL in a way that actually works...
2012-03-12 12:43:18 +00:00
Nicholas Marriott
31ddae7735
Use EL to clear to end of line if possible.
2012-03-12 12:38:42 +00:00
Nicholas Marriott
799f437eff
Remove some bits leftover from unused backoff code.
2012-03-09 21:42:13 +00:00
Nicholas Marriott
f4fdddc930
Support "bracketed paste" mode. This adds a -p flag to paste-buffer - if
...
this is used and the application has requested bracketed pastes, then
tmux surrounds the pasted text by \033[200~ and \033[201~. Applications
like vim can (apparently) use this to avoid, for example, indenting the
text. From Ailin Nemui.
2012-03-03 09:43:22 +00:00
Nicholas Marriott
fddbd44c18
Add a wrapper function tty_set_size from George Nachman.
2012-02-15 17:25:02 +00:00
Nicholas Marriott
230d0fbc9e
Add an option to move the status line to the top of the screen,
...
requested by many.
2012-01-29 09:37:02 +00:00
Nicholas Marriott
7f24020cbe
Add strings to allow the aixterm bright colours to be used when
...
configuring colours, requested by Elliott Cable a few months ago.
2012-01-21 08:23:12 +00:00
Nicholas Marriott
299a8fd4a3
Calculate last position correctly for UTF-8 wide characters, reported by
...
Matthias Lederhofer.
2012-01-15 19:39:42 +00:00
Nicholas Marriott
029c34ce6b
Add a tty_bell wrapper function, from Dylan Alex Simon.
2011-08-24 09:58:44 +00:00
Nicholas Marriott
34e5ec1807
Trim another useless if statement, from Ailin Nemui.
2011-05-26 07:08:48 +00:00
Nicholas Marriott
3ea5e06bfb
Support DECSCUSR sequence to set the cursor style with two new
...
terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.
2011-05-20 19:17:39 +00:00
Nicholas Marriott
944b5e6fa0
Support xterm(1) cursor colour change sequences through terminfo(5) Cc
...
(set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked
by me and Ailin Nemui.
2011-05-20 19:03:58 +00:00
Nicholas Marriott
96e7f33da3
Support setting the xterm clipboard when copying from copy mode using
...
the xterm escape sequence for the purpose (if xterm is configured to
allow it).
Written by and much discussed Ailin Nemui, guidance on
xterm/termcap/terminfo from Thomas Dickey.
2011-05-18 20:24:29 +00:00
Nicholas Marriott
295ace6820
Use the tsl and fsl terminfo(5) capabilities to update terminal title
...
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-05-08 19:53:06 +00:00
Nicholas Marriott
0a09d04e1b
If the terminal supports sitm for italics, use it instead of standout
...
(smso). From Tiago Resende.
2011-04-09 07:48:08 +00:00
Nicholas Marriott
71e8e26ccc
Set the terminal blocking again earlier, before sending the reset
...
sequences.
2011-03-27 20:36:19 +00:00
Nicholas Marriott
d74e5bffba
Fix to properly wrap wide characters, from Micah Cowan.
2011-03-26 19:07:33 +00:00
Nicholas Marriott
54456d5602
Fix an incorrect test which was always true (oupper is always < olower),
...
from Yusuke ENDOH.
2011-03-08 19:23:49 +00:00
Nicholas Marriott
79e30daeae
Support passing through escape sequences to the underlying terminal by
...
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-03-07 23:46:27 +00:00
Nicholas Marriott
9fc2c34a3b
Accept tcgetattr/tcsetattr failure, fixes problems with fatal() if the
...
terminal disappears while locked.
2011-01-29 08:39:43 +00:00
Nicholas Marriott
3de1700f61
Only set a mouse mode for mouse-select-pane if none already set by the
...
mode (any will do).
2011-01-15 00:46:19 +00:00
Nicholas Marriott
8f8e81c0c9
Mouse highlight mode (1001) requires a program to cooperate so
...
supporting it through tmux is not as easy as this, remove it for now.
2011-01-15 00:16:00 +00:00
Nicholas Marriott
69cb1f830e
Move all calls to fcntl(...O_NONBLOCK) into a function and clear the
...
flag on the stdio file descriptors before closing them (fixes things
like "tmux ls && cat").
2011-01-08 01:52:36 +00:00
Nicholas Marriott
ac3b78a841
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262
...
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.
2011-01-03 23:35:21 +00:00
Nicholas Marriott
f7c42c21ba
Support all four of the xterm mouse modes. Based on a diff from hsim at
...
gmx.li.
2010-12-29 21:49:06 +00:00
Nicholas Marriott
ef9b2eb566
There is somewhere that WINDOW_HIDDEN is getting set when it shouldn't
...
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-11-22 21:13:13 +00:00
Nicholas Marriott
f56b4ec2ff
Trying to set FD_CLOEXEC on every fd is a lost cause, just use
...
closefrom() before exec.
2010-10-16 08:31:55 +00:00
Nicholas Marriott
ea4487c6da
Ugh. Pass the right type into tty_term_has. Teaches me to make last
...
minute changes :-/.
2010-09-11 16:20:58 +00:00
Nicholas Marriott
cb564bb427
Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupid
...
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-09-11 16:19:22 +00:00
Nicholas Marriott
8363e31953
Change the way backoff works. Instead of stopping reading from the pty
...
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-08-11 07:34:43 +00:00