13a0b6bb3f
Collect sequences of printable ASCII characters and process them
...
together instead of handling them one by one. This is significantly
faster. Sequences are terminated when we reach the end of the line, fill
the internal buffer, or a different character is seen by the input
parser (an escape sequence, or UTF-8).
Rather than writing collected sequences out immediately, hold them until
it is necessary (another screen modification, or we consume all
available data). This means we can discard changes that would have no
effect (for example, lines that would just be scrolled off the screen or
cleared). This reduces the total amount of data we write out to the
terminal - not important for fast terminals, but a big help with slow
(like xterm).
2017-02-08 16:45:18 +00:00
d4b006b9fa
Fix clear start of line.
2017-02-08 16:18:20 +00:00
e09625e38b
Merge branch 'obsd-master'
2017-02-08 16:01:17 +00:00
7475165cd8
Some other tidying bits.
2017-02-08 15:49:29 +00:00
ac1f294bb9
Add a helper to store a cell, and some tidying.
2017-02-08 15:41:41 +00:00
96b66f8fc3
Remove unnecessary duplicate check.
2017-02-08 15:24:48 +00:00
713f3b05f3
Improve some of the logging on resize.
2017-02-08 13:53:32 +00:00
9af5f3ff81
Give an example, from Timothee Cour.
2017-02-08 11:52:42 +00:00
a9a0039be4
Merge branch 'obsd-master'
2017-02-08 10:01:22 +00:00
cb80901d33
Log size of output buffer as well.
2017-02-08 08:54:45 +00:00
9cc02d1498
Trying to avoid the occasional newline by saving the last cell on screen
...
is not actually helping us much and just adds complexity, so don't
bother.
2017-02-08 08:50:10 +00:00
acb4bd9e56
Tweak how much we expand lines by.
2017-02-08 08:26:35 +00:00
35a0606de1
Remove event watermarks, don't work well enough to be worth it.
2017-02-08 08:25:12 +00:00
5aaf640629
Merge branch 'obsd-master'
2017-02-07 20:01:14 +00:00
c0a34821c1
Do not clear the scroll region, instead set it to the scroll region we
...
actually want.
2017-02-07 18:27:46 +00:00
20f5e377fb
Remove a debugging leftover.
2017-02-07 18:06:42 +00:00
178289fb4c
Merge branch 'obsd-master'
2017-02-07 18:01:13 +00:00
6ea36afc4b
DECSLRM in xterm(1) appears to have a quirk where it can generate an
...
extra scroll of the entire terminal; issuing DECSTBM first prevents
this. Do that for now.
2017-02-07 17:13:28 +00:00
97fd291079
Merge branch 'obsd-master'
2017-02-07 16:01:13 +00:00
9491a5c1cf
Unfortunately DECFRA does not handle default colours properly (it does
...
not reset colours when in SGR 0), so we can't use it without more
trouble than it is worth. Abandon the idea for now.
2017-02-07 14:33:37 +00:00
8872a0da8e
Merge branch 'master' of github.com:tmux/tmux
2017-02-07 13:41:17 +00:00
0f5a2c86da
Look for libtinfo before libncurses.
2017-02-07 13:40:36 +00:00
9f66fb4fd7
Merge branch 'obsd-master'
2017-02-07 00:01:13 +00:00
d60e585d9e
Use DECFRA on VT420 compatible terminals (so, xterm) and ED on all
...
others for clearing panes.
2017-02-06 22:05:11 +00:00
dfdc23d86c
Merge branch 'obsd-master'
2017-02-06 22:01:16 +00:00
7417e391d5
Merge branch 'obsd-master'
2017-02-06 20:01:15 +00:00
68e04907de
Do not go through the whole attributes setting process if the new cell
...
is the same as the previous one.
2017-02-06 19:45:23 +00:00
10e14ae504
Add BCE for clear to start of screen, which was somehow missed.
2017-02-06 19:26:49 +00:00
1199f8fc59
Merge branch 'obsd-master'
2017-02-06 16:01:20 +00:00
e67548dc36
Cancel key table when switching session, unless the key is going to
...
repeat. Reported by Amos Bird.
2017-02-06 15:00:41 +00:00
446177a832
Merge branch 'obsd-master'
2017-02-06 14:01:16 +00:00
4eabd7ec90
Do not declare program_invocation_short_name because people can't make up their
...
mind what type it should be.
2017-02-06 13:34:19 +00:00
d150d9b384
Fix logging of CSI parameters.
2017-02-06 13:25:15 +00:00
3fd34e70e5
Only redraw the modified character when adding combining characters, not
...
the whole line.
2017-02-06 13:23:00 +00:00
50f25a8f05
Merge branch 'master' of github.com:tmux/tmux
2017-02-06 10:06:14 +00:00
c7c1018e9b
Update sys/queue.h from OpenBSD.
2017-02-06 10:05:56 +00:00
7bccc82284
Merge branch 'obsd-master'
2017-02-05 02:01:12 +00:00
d091253a5d
Missing va_end, from Anton Lindqvist.
2017-02-04 23:42:53 +00:00
e1c283325e
Merge branch 'obsd-master'
2017-02-03 22:01:18 +00:00
5e6a8177e5
Cache status line position to reduce option lookups during output.
2017-02-03 21:01:02 +00:00
75adf8368a
Expand lines more aggressively to reduce rate of allocations.
2017-02-03 20:53:03 +00:00
6c333cc486
Merge branch 'obsd-master'
2017-02-03 14:01:13 +00:00
7d23d019c0
Add a window or pane id "tag" to each format tree and use it to separate
...
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.
2017-02-03 11:57:27 +00:00
9b1f620aa0
Merge branch 'obsd-master'
2017-02-01 12:01:18 +00:00
dd0c814779
Implement "all event" (1003) mouse mode but in a way that works. The
...
main issue is that if we have two panes, A with 1002 and B with 1003, we
need to set 1003 outside tmux in order to get all the mouse events, but
then we need to suppress the ones that pane A doesn't want. This is easy
in SGR mouse mode, because buttons == 3 is only used for movement events
(for other events the trailing m/M marks a release instead), but in
normal mouse mode we can't tell so easily. So for that, look at the
previous event instead - if it is drag+release as well, then the current
event is a movement event.
2017-02-01 09:55:07 +00:00
9b9a5a292d
Merge branch 'master' of github.com:tmux/tmux
2017-01-31 12:52:50 +00:00
c54a5d9fb3
Add wchar.h to compat.h, from Koichi Shiraishi.
2017-01-31 12:51:53 +00:00
d8da761d54
Merge branch 'obsd-master'
2017-01-31 00:01:12 +00:00
3408595f77
When a flag option is used in a format, it should use the number form
...
not string.
2017-01-30 21:41:17 +00:00
9094f01c6b
Merge branch 'obsd-master'
2017-01-30 00:01:13 +00:00