nicm
1e6e606f54
Need to flush before writing out cells we are not collecting, also add
...
some extra logging.
2017-03-07 13:48:28 +00:00
nicm
daac28febb
If moving cells outside the current used count, update it.
2017-03-07 13:47:56 +00:00
nicm
dc8fefe902
Collect strings correctly when on terminals that don't support UTF-8.
2017-03-06 09:02:59 +00:00
nicm
fba9ebcc0c
When redrawing a combined UTF-8 characters in its existing position,
...
need to save and restore the cursor so that the next character goes into
the right place.
2017-03-06 09:02:36 +00:00
nicm
e741a0bcd7
If splitw -b is used, insert the new pane before the current one in the
...
pane list. This means the numbering is in order (for example for
display-panes) and fixes a problem with redrawing the active pane
borders.
2017-02-27 13:07:57 +00:00
nicm
0414b1fc78
Minor bits: fix an array size, add comment, make grid_cell_entry static.
2017-02-22 09:01:32 +00:00
nicm
8a0b279c31
Change pane redraw to collect cells up as well, and simplify it a bit.
2017-02-21 16:25:04 +00:00
nicm
27ee34e7fa
Don't need is1,is2,is3 so remove them.
2017-02-21 14:18:12 +00:00
nicm
9e4c5133c8
Scrolling at least needs to be flushed before sending EL to the terminal
...
(but it is simpler to flush everything, so do that instead).
2017-02-21 10:30:15 +00:00
nicm
f27e1d07fc
Add SGR 28 to clear hidden flag.
2017-02-19 07:55:11 +00:00
nicm
82db1fa9e5
There are buggy terminals out there that do not move the cursor to 0,0
...
after CSR, so invalidate the cursor position rather than assuming 0,0.
2017-02-16 12:56:01 +00:00
nicm
c948c6b697
Handle insert cells when cursor at edge of screen correctly, and do a
...
full flush before insert.
2017-02-16 12:43:08 +00:00
nicm
c889e11375
Merge clear-history into capture-pane.
2017-02-16 12:18:38 +00:00
nicm
8b8d0963da
Style nits.
2017-02-16 10:53:25 +00:00
nicm
dd25a6cdc2
Do not clear to end of screen unless the pane is at the bottom.
2017-02-15 11:22:13 +00:00
nicm
640d9e54b7
"status bar" -> "status line" for consistency, from Benjamin Dopplinger.
2017-02-15 08:47:55 +00:00
nicm
e340df2034
Make source-file look for files relative to the client working directory
...
(like load-buffer and save-buffer), from Chris Pickel. Also break the
where-is-this-file code out into its own function for loadb and saveb.
2017-02-14 18:13:05 +00:00
nicm
4c2a78029d
Collected cells may still need to be extended for RGB colours.
2017-02-13 16:05:30 +00:00
nicm
921880e00b
Add not delete the event if more to write.
2017-02-10 15:39:43 +00:00
nicm
d22c15107b
Don't use a bufferevent for the tty, so we can keep better track of what
...
is being written and when.
Also a manpage typo fix from jmc@.
2017-02-10 12:59:18 +00:00
nicm
c6a3446398
Instead of numbering session groups, give them a name which may be given
...
to -t instead of a target session. Also allow them to contain only one
session.
2017-02-09 15:04:53 +00:00
nicm
8de4c15dfa
Document refresh-client -C.
2017-02-09 14:49:00 +00:00
nicm
b1fa3e25e4
Break the message storage function into its own function, useful for
...
debugging.
2017-02-09 12:09:33 +00:00
nicm
b7ddfb39f3
Don't lie about the default size in the man page.
2017-02-09 12:00:42 +00:00
nicm
ddb3750c8b
Combining characters need a full flush.
2017-02-09 10:09:14 +00:00
nicm
fd6e46596d
When an ordinary (not collected) cell is received, we need to flush any
...
delayed scrolling before drawing it.
2017-02-09 09:33:15 +00:00
nicm
1811dc5271
Another helper function to write to terminal and log.
2017-02-08 23:53:03 +00:00
nicm
2f854969ff
Do not adjust region lower by pane offset when scrolling up, it is
...
already an absolute position.
2017-02-08 22:42:07 +00:00
nicm
05802a6fe3
window_copy_pagedown shouldn't reset the mode anymore, instead let the
...
caller do it so it can free the marks. Problem reported by attila at
stalphonsos dot com.
2017-02-08 17:33:51 +00:00
nicm
e100d465da
Add support for scroll up escape sequence (CSI S) and use it when
...
possible instead of sending individual line feeds.
2017-02-08 17:31:09 +00:00
nicm
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
nicm
d4b006b9fa
Fix clear start of line.
2017-02-08 16:18:20 +00:00
nicm
7475165cd8
Some other tidying bits.
2017-02-08 15:49:29 +00:00
nicm
ac1f294bb9
Add a helper to store a cell, and some tidying.
2017-02-08 15:41:41 +00:00
nicm
96b66f8fc3
Remove unnecessary duplicate check.
2017-02-08 15:24:48 +00:00
nicm
713f3b05f3
Improve some of the logging on resize.
2017-02-08 13:53:32 +00:00
nicm
cb80901d33
Log size of output buffer as well.
2017-02-08 08:54:45 +00:00
nicm
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
nicm
acb4bd9e56
Tweak how much we expand lines by.
2017-02-08 08:26:35 +00:00
nicm
35a0606de1
Remove event watermarks, don't work well enough to be worth it.
2017-02-08 08:25:12 +00:00
nicm
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
nicm
20f5e377fb
Remove a debugging leftover.
2017-02-07 18:06:42 +00:00
nicm
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
nicm
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
nicm
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
nicm
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
nicm
10e14ae504
Add BCE for clear to start of screen, which was somehow missed.
2017-02-06 19:26:49 +00:00
nicm
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
nicm
d150d9b384
Fix logging of CSI parameters.
2017-02-06 13:25:15 +00:00
nicm
3fd34e70e5
Only redraw the modified character when adding combining characters, not
...
the whole line.
2017-02-06 13:23:00 +00:00