8c9bbc3749
Merge branch 'obsd-master'
2020-04-19 00:01:31 +01:00
62ff5e4b01
The PANE_REDRAW flag bit might be needed by other panes so we can't
...
clear it on the first redraw, and it can't be set when we are finished
or they would be redrawn again, so if the redraw is deferred for a
client, copy the redraw flag into a separate set of bits just for that
client.
2020-04-18 21:35:32 +00:00
7da5418758
Merge branch 'obsd-master'
2020-04-18 20:01:29 +01:00
100db552d1
A resize can realloc so cannot cache the value of the list pointer.
2020-04-18 17:20:25 +00:00
2b83ee5557
Merge branch 'obsd-master'
2020-04-18 18:01:28 +01:00
deffef6f13
Reset background colour on scrolled line.
2020-04-18 15:22:05 +00:00
ea5fdd5331
There is no point in keeping a bunch of different text buffers for each
...
line when writing, we only need one as big as the line width - there
can't be any more text than that since newer will overwrite older.
2020-04-18 15:12:28 +00:00
2ccf15e5d8
Merge branch 'obsd-master'
2020-04-18 16:01:34 +01:00
4a93294152
Use size_t not u_int for the bytes counters and fix a const missing.
2020-04-18 14:21:39 +00:00
d55510ebc8
Merge branch 'obsd-master'
2020-04-18 12:01:31 +01:00
94c90385d2
Apple appear to have fixed kqueue in some OS X version (will wonder never
...
cease!) so use it since it appears to be faster.
2020-04-18 11:45:49 +01:00
e1799ed7c8
Merge branch 'obsd-master'
2020-04-18 10:01:31 +01:00
c87595326c
Use peek line function instead of hoking in the array directly.
2020-04-18 09:00:31 +00:00
b0a37e7514
Bring back previons fix to only redraw panes that need it after a redraw
...
is deferred, but clear the pane flags when they are actually redrawn
rather than every time.
2020-04-18 07:32:53 +00:00
e153b928ff
Add formats for pane written/skipped bytes for debugging.
2020-04-18 07:19:28 +00:00
349617a818
Merge branch 'obsd-master'
2020-04-18 08:01:37 +01:00
baf1fca273
Only update mode when actually going to redraw something.
2020-04-18 06:52:36 +00:00
1d2bd864f2
Add a flag to protect against nested syncs and add some extra logging to
...
redrawing.
2020-04-18 06:20:50 +00:00
d94bdf7420
Revert previous, there is still a problem.
2020-04-18 06:15:07 +00:00
5289d4ed13
When a redraw is deferred because the terminal hasn't finished reading
...
the data from the last one, other panes could update while waiting, so
we set the flag to redraw them all when the new redraw actually
happened. But this means a lot of redrawing panes unnecessarily if they
haven't changed - so instead set a flag to say "at least one pane needs
to be redrawed" then look at the invidual pane flags to see which ones
need it.
2020-04-18 06:10:15 +00:00
87d79e6d36
Merge branch 'obsd-master'
2020-04-18 00:01:30 +01:00
a7a9460d27
Set mode properly before and after redrawing, and don't bother
...
calculating cursor position if it won't be used.
2020-04-17 22:16:28 +00:00
a877a5d8c9
Do not move the cursor to the existing y position if it is invalid, go
...
home instead.
2020-04-17 21:33:18 +00:00
857fca1095
Merge branch 'obsd-master'
2020-04-17 18:01:30 +01:00
bbd6e899a8
There is no point allocating a new item and putting it on the list when
...
the whole line is cleared line, there is never any point in doing it
more than once. Instead store the background colour alone.
2020-04-17 15:44:58 +00:00
7a21e911e1
Merge branch 'obsd-master'
2020-04-17 16:01:33 +01:00
282a7a8d96
Make sure the cursor position is still on screen after we have trimmed
...
empty lines. Also improve some log messages.
2020-04-17 14:06:42 +00:00
abeb31dd3d
Merge branch 'obsd-master'
2020-04-17 12:01:30 +01:00
7f2925a01d
Support the application escape sequence mintty (means tmux doesn't have
...
to delay to wait for Escape).
2020-04-17 09:06:10 +00:00
413c4cfd1b
Merge branch 'obsd-master'
2020-04-17 10:01:38 +01:00
5aba26f2cb
Add a copy-command option and change copy-pipe and friends to pipe to it
...
if used without arguments, allows all copy key bindings to be changed to
pipe with one option.
2020-04-17 08:03:22 +00:00
2846be326a
Merge branch 'obsd-master'
2020-04-17 00:01:35 +01:00
5f18844b32
Return to sending sync around clears.
2020-04-16 21:46:43 +00:00
d8433add47
Do not need to set up a tty context for clearing lines now.
2020-04-16 21:16:24 +00:00
d90ca7ecd6
Collect up line clears like text within the available data so we don't
...
need to flush everything.
2020-04-16 20:32:51 +00:00
9edef17698
Merge branch 'obsd-master'
2020-04-16 20:01:31 +01:00
c1b015f24e
Log what caused a flush for better visibility on what could be improved.
2020-04-16 17:24:28 +00:00
9311ed049b
Start menu with top item selected if no mouse, GitHub issue 2169.
2020-04-16 17:20:23 +00:00
21eb2ba419
Merge branch 'obsd-master'
2020-04-16 18:01:32 +01:00
2e347d6a38
Only start and stop sync for operations like clear and scroll where
...
there is a better chance more data will be on the way.
2020-04-16 16:13:56 +00:00
363d950ac0
Send secondary device attributes instead of primary which gives us a bit
...
more useful information on some terminals.
2020-04-16 15:14:25 +00:00
5e38d26257
Merge branch 'obsd-master'
2020-04-16 16:01:35 +01:00
5ec80bd249
Move the UTF-8 flag to terminal flags.
2020-04-16 14:25:35 +00:00
4744aa43af
Add a helper function to get the terminal flags.
2020-04-16 14:03:51 +00:00
b2443aa2f9
Add support for the iTerm2 sychronized updates escape sequence which
...
drastically reduces flickering.
2020-04-16 13:35:24 +00:00
b3cadf8260
Fix sys_signame check.
2020-04-16 10:15:33 +01:00
1aa2845026
Check for sys_signame.
2020-04-16 10:08:16 +01:00
dd66ede38b
Merge branch 'obsd-master'
2020-04-16 10:01:33 +01:00
a2e47b5279
Show signal name when process exits rather than number.
2020-04-16 07:28:36 +00:00
3aa1e5810c
Merge branch 'obsd-master'
2020-04-16 08:01:26 +01:00