Nicholas Marriott
ac91635f82
Add extension terminfo(5) capabilities for margins.
2020-04-23 12:12:02 +01:00
Nicholas Marriott
c74572da92
Remove support for iTerm2's DSR 1337 extension and use the CSI > q extension
...
now supported by a few different terminals.
2020-04-23 10:29:03 +01:00
Thomas Adam
cf5f93b2b3
Merge branch 'obsd-master'
2020-04-23 02:01:33 +01:00
nicm
899b3d2436
Indicate the marked pane in choose mode in reverse and add key to set
...
and clear it (m and M) and a key to jump to the starting pane (H).
2020-04-22 21:01:28 +00:00
Thomas Adam
8ae3915cc2
Merge branch 'obsd-master'
2020-04-22 12:01:38 +01:00
nicm
de5163a634
Change so main-pane-width and height can be given as a percentage.
2020-04-22 06:57:13 +00:00
Thomas Adam
32c3fe40eb
Merge branch 'obsd-master'
2020-04-20 17:43:20 +01:00
Thomas Adam
c706aadf52
Merge branch 'obsd-master'
2020-04-20 17:42:29 +01:00
nicm
117ec1b2e6
Apply terminal-overrides after terminal detection, it always takes
...
precedence.
2020-04-20 15:37:32 +00:00
nicm
2083a6ea20
Change how sync works to always send the end sequence after all output
...
is done when we are returning to the event loop (since we always move
the cursor at that point). Also a man fix from jmc.
2020-04-20 14:59:31 +00:00
nicm
c91b4b2e14
Tidy up the terminal detection and feature code and add named sets of
...
terminal features, each of which are defined in one place and map to a
builtin set of terminfo(5) capabilities. Features can be specified based
on TERM with a new terminal-features option or with the -T flag when
running tmux. tmux will also detect a few common terminals from the DA
and DSR responses.
This is intended to make it easier to configure tmux's use of
terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5)
databases or for features which do not yet have a terminfo(5) entry.
Instead of having to grok terminfo(5) capability names and what they
should be set to in the terminal-overrides option, the user can
hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility
and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler
to configure.
2020-04-20 13:25:36 +00:00
Thomas Adam
8c9bbc3749
Merge branch 'obsd-master'
2020-04-19 00:01:31 +01:00
nicm
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
Thomas Adam
7da5418758
Merge branch 'obsd-master'
2020-04-18 20:01:29 +01:00
nicm
100db552d1
A resize can realloc so cannot cache the value of the list pointer.
2020-04-18 17:20:25 +00:00
Thomas Adam
2b83ee5557
Merge branch 'obsd-master'
2020-04-18 18:01:28 +01:00
nicm
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
Thomas Adam
2ccf15e5d8
Merge branch 'obsd-master'
2020-04-18 16:01:34 +01:00
nicm
4a93294152
Use size_t not u_int for the bytes counters and fix a const missing.
2020-04-18 14:21:39 +00:00
Thomas Adam
e1799ed7c8
Merge branch 'obsd-master'
2020-04-18 10:01:31 +01:00
nicm
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
nicm
e153b928ff
Add formats for pane written/skipped bytes for debugging.
2020-04-18 07:19:28 +00:00
Thomas Adam
349617a818
Merge branch 'obsd-master'
2020-04-18 08:01:37 +01:00
nicm
1d2bd864f2
Add a flag to protect against nested syncs and add some extra logging to
...
redrawing.
2020-04-18 06:20:50 +00:00
nicm
d94bdf7420
Revert previous, there is still a problem.
2020-04-18 06:15:07 +00:00
nicm
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
Thomas Adam
7a21e911e1
Merge branch 'obsd-master'
2020-04-17 16:01:33 +01:00
nicm
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
Thomas Adam
21eb2ba419
Merge branch 'obsd-master'
2020-04-16 18:01:32 +01:00
nicm
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
nicm
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
Thomas Adam
5e38d26257
Merge branch 'obsd-master'
2020-04-16 16:01:35 +01:00
nicm
5ec80bd249
Move the UTF-8 flag to terminal flags.
2020-04-16 14:25:35 +00:00
nicm
4744aa43af
Add a helper function to get the terminal flags.
2020-04-16 14:03:51 +00:00
nicm
b2443aa2f9
Add support for the iTerm2 sychronized updates escape sequence which
...
drastically reduces flickering.
2020-04-16 13:35:24 +00:00
Thomas Adam
dd66ede38b
Merge branch 'obsd-master'
2020-04-16 10:01:33 +01:00
nicm
a2e47b5279
Show signal name when process exits rather than number.
2020-04-16 07:28:36 +00:00
Thomas Adam
6d6309014e
Merge branch 'obsd-master'
2020-04-15 20:01:27 +01:00
nicm
53a29a2ffa
Instead of fixing with the cursor position when the copied screen is
...
created, resize it and let the resize/reflow code fix it up and return
it. Solves various problems with cursor position and resizing when in
copy mode. With Anindya Mukherjee.
2020-04-15 17:50:02 +00:00
Thomas Adam
ebeb457385
Merge branch 'obsd-master'
2020-04-15 18:01:27 +01:00
nicm
1e72f5ea43
Use mode-style for selected items, like choose modes. GitHub issue 2166.
2020-04-15 16:11:23 +00:00
Thomas Adam
fe1778e377
Merge branch 'obsd-master'
2020-04-15 16:01:27 +01:00
nicm
c7883d5c87
Use grid_empty_line rather than memset when adding new lines on resize.
...
Also remove some old test code.
2020-04-15 12:59:20 +00:00
Thomas Adam
6d9b3704f5
Merge branch 'obsd-master'
2020-04-14 08:01:33 +01:00
nicm
63ec791854
Provide an accessor for the running queue item and use it to not let
...
hooks recurse.
2020-04-14 06:00:52 +00:00
Thomas Adam
653a159225
Merge branch 'obsd-master'
2020-04-14 00:01:41 +01:00
Thomas Adam
2159ff3256
Merge branch 'obsd-master'
2020-04-13 22:01:30 +01:00
nicm
3f7f9a0e20
Make client -c and -t handling common in cmd-queue.c and try to be
...
clearer about whether the client is the target client (must have a
session) or not.
2020-04-13 20:51:57 +00:00
nicm
187277eaad
Add helpers for the simple case of parse string and add to command queue.
2020-04-13 18:59:41 +00:00
Thomas Adam
acc00cd13a
Merge branch 'obsd-master'
2020-04-13 18:01:43 +01:00