nicm
471f697423
Add an attribute for ACS.
2020-05-16 14:13:37 +00:00
nicm
0dd1944206
Tweak the default choose modes formats:
...
- Only show pane title if it is not default and not empty.
- Add a prettier time format and use that instead of long ctime().
- Remove clutter and change the order.
2020-05-16 14:10:29 +00:00
nicm
aa7dccf8e1
imsg.h needs uio.h, pointed out by deraadt
2020-05-08 14:15:11 +00:00
nicm
048f1ff18a
Do not remove the automatic-rename option from the global set, only from
...
the window (it must stay in the global set or tmux will crash). GitHub
issue 2188.
2020-04-30 13:31:22 +00:00
nicm
1574126e8a
Do not close the stdout file descriptor in control mode as it will be
...
needed for printing the exit messages. Fixes a bug when detaching with
iTerm2.
2020-04-27 08:35:09 +00:00
jmc
18886cb510
ce examples of "Ar arg Ar arg" with "Ar arg arg" and stop the spread;
2020-04-23 21:28:09 +00:00
nicm
766b425d05
Overrides need to be applied both before and after features in case they
...
change flags used to detect a feature.
2020-04-23 10:22:53 +00:00
nicm
e25fa4ba1b
Fix a couple of memory leaks, one when creating a new pane and one when
...
adding formats onto the queue item.
2020-04-23 05:48:42 +00:00
nicm
906dfe9f5c
Fix a couple of memory leaks, one when creating a new pane and one when
...
adding formats onto the queue item.
2020-04-23 05:48:42 +00:00
nicm
e46cf86d30
Improve join-pane, move-pane and break-pane:
...
- There is no need for join-pane and move-pane to be different.
- break-pane can just behave like move-window if the source has only one
pane, instead of failing.
- Add -a to break-pane like move-window.
Also add missing man page bits for previous window-tree.c changes.
GitHub issue 2176.
2020-04-22 21:15:33 +00:00
nicm
4b21fd2ed1
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
nicm
950af33636
Improve join-pane, move-pane and break-pane:
...
- There is no need for join-pane and move-pane to be different.
- break-pane can just behave like move-window if the source has only one
pane, instead of failing.
- Add -a to break-pane like move-window.
Also add missing man page bits for previous window-tree.c changes.
GitHub issue 2176.
2020-04-22 21:15:33 +00: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
nicm
662728d6c7
Add a session_marked format like window_marked.
2020-04-22 20:47:00 +00:00
nicm
4b5a16567a
Update the cursor position when deleting lines from screens without
...
history, GitHub issue 2173.
2020-04-22 08:48:44 +00:00
nicm
5935100181
Change so main-pane-width and height can be given as a percentage.
2020-04-22 06:57:13 +00:00
nicm
b72498c4ff
Update the cursor position when deleting lines from screens without
...
history, GitHub issue 2173.
2020-04-22 08:48:44 +00:00
nicm
de5163a634
Change so main-pane-width and height can be given as a percentage.
2020-04-22 06:57:13 +00:00
nicm
445dfa8512
Move the background colour to clear with (if any) up as well as the data
...
when scrolling, redraw problem reported by sthen@.
2020-04-21 13:48:56 +00:00
nicm
9a60d41db4
256 and RGB features can imply AX (for aixterm colours).
2020-04-21 10:37:11 +00:00
nicm
18671a27b6
Turn off the block flag to reset the state or the cursor will not be
...
moved back to the right place.
2020-04-21 06:34:13 +00:00
nicm
d524cb64e7
Do not clear client pane redraw flags until the redraw actually happens.
2020-04-21 06:32:40 +00:00
nicm
bd91015b13
256 and RGB features can imply AX (for aixterm colours).
2020-04-21 10:37:11 +00:00
nicm
57bd6e0447
Turn off the block flag to reset the state or the cursor will not be
...
moved back to the right place.
2020-04-21 06:34:13 +00:00
nicm
d0b8f5340e
Do not clear client pane redraw flags until the redraw actually happens.
2020-04-21 06:32:40 +00:00
nicm
1cabccbb2b
xterm* needs XT also.
2020-04-21 05:26:13 +00:00
nicm
4a5182e665
Always start sync for output in panes that are not the active pane.
2020-04-20 15:49:05 +00: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
135bb1edee
Change the Sync capability to be a string instead of a flag.
2020-04-20 13:38:48 +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
nicm
86862c976a
Also redraw panes which aren't pane 0. Problem reported by tb@.
2020-04-20 09:07:55 +00:00
nicm
b846ec2665
Only trim blank lines when the source pane is not the target pane,
...
otherwise the cursor moves which is a bit strange.
2020-04-20 06:08:37 +00:00
nicm
4bc0a83d51
Need to check for pane redrawing even if just the window flag is set
...
(the pane flag may not have been previously set to avoid looping the
windows).
2020-04-20 06:07:39 +00: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
nicm
100db552d1
A resize can realloc so cannot cache the value of the list pointer.
2020-04-18 17:20:25 +00:00
nicm
deffef6f13
Reset background colour on scrolled line.
2020-04-18 15:22:05 +00: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
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
nicm
c87595326c
Use peek line function instead of hoking in the array directly.
2020-04-18 09:00:31 +00: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
nicm
baf1fca273
Only update mode when actually going to redraw something.
2020-04-18 06:52:36 +00: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
nicm
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
nicm
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
nicm
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
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