summaryrefslogtreecommitdiff
path: root/usr.bin/tmux
AgeCommit message (Collapse)Author
2020-04-22Change so main-pane-width and height can be given as a percentage.Nicholas Marriott
2020-04-21Move the background colour to clear with (if any) up as well as the dataNicholas Marriott
when scrolling, redraw problem reported by sthen@.
2020-04-21256 and RGB features can imply AX (for aixterm colours).Nicholas Marriott
2020-04-21Turn off the block flag to reset the state or the cursor will not beNicholas Marriott
moved back to the right place.
2020-04-21Do not clear client pane redraw flags until the redraw actually happens.Nicholas Marriott
2020-04-21xterm* needs XT also.Nicholas Marriott
2020-04-20Always start sync for output in panes that are not the active pane.Nicholas Marriott
2020-04-20Apply terminal-overrides after terminal detection, it always takesNicholas Marriott
precedence.
2020-04-20Change how sync works to always send the end sequence after all outputNicholas Marriott
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-20Change the Sync capability to be a string instead of a flag.Nicholas Marriott
2020-04-20Tidy up the terminal detection and feature code and add named sets ofNicholas Marriott
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-20Also redraw panes which aren't pane 0. Problem reported by tb@.Nicholas Marriott
2020-04-20Only trim blank lines when the source pane is not the target pane,Nicholas Marriott
otherwise the cursor moves which is a bit strange.
2020-04-20Need to check for pane redrawing even if just the window flag is setNicholas Marriott
(the pane flag may not have been previously set to avoid looping the windows).
2020-04-18The PANE_REDRAW flag bit might be needed by other panes so we can'tNicholas Marriott
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-18A resize can realloc so cannot cache the value of the list pointer.Nicholas Marriott
2020-04-18Reset background colour on scrolled line.Nicholas Marriott
2020-04-18There is no point in keeping a bunch of different text buffers for eachNicholas Marriott
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-18Use size_t not u_int for the bytes counters and fix a const missing.Nicholas Marriott
2020-04-18Use peek line function instead of hoking in the array directly.Nicholas Marriott
2020-04-18Bring back previons fix to only redraw panes that need it after a redrawNicholas Marriott
is deferred, but clear the pane flags when they are actually redrawn rather than every time.
2020-04-18Add formats for pane written/skipped bytes for debugging.Nicholas Marriott
2020-04-18Only update mode when actually going to redraw something.Nicholas Marriott
2020-04-18Add a flag to protect against nested syncs and add some extra logging toNicholas Marriott
redrawing.
2020-04-18Revert previous, there is still a problem.Nicholas Marriott
2020-04-18When a redraw is deferred because the terminal hasn't finished readingNicholas Marriott
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-17Set mode properly before and after redrawing, and don't botherNicholas Marriott
calculating cursor position if it won't be used.
2020-04-17Do not move the cursor to the existing y position if it is invalid, goNicholas Marriott
home instead.
2020-04-17There is no point allocating a new item and putting it on the list whenNicholas Marriott
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-17Make sure the cursor position is still on screen after we have trimmedNicholas Marriott
empty lines. Also improve some log messages.
2020-04-17Support the application escape sequence mintty (means tmux doesn't haveNicholas Marriott
to delay to wait for Escape).
2020-04-17Add a copy-command option and change copy-pipe and friends to pipe to itNicholas Marriott
if used without arguments, allows all copy key bindings to be changed to pipe with one option.
2020-04-16Return to sending sync around clears.Nicholas Marriott
2020-04-16Do not need to set up a tty context for clearing lines now.Nicholas Marriott
2020-04-16Collect up line clears like text within the available data so we don'tNicholas Marriott
need to flush everything.
2020-04-16Log what caused a flush for better visibility on what could be improved.Nicholas Marriott
2020-04-16Start menu with top item selected if no mouse, GitHub issue 2169.Nicholas Marriott
2020-04-16Only start and stop sync for operations like clear and scroll whereNicholas Marriott
there is a better chance more data will be on the way.
2020-04-16Send secondary device attributes instead of primary which gives us a bitNicholas Marriott
more useful information on some terminals.
2020-04-16Move the UTF-8 flag to terminal flags.Nicholas Marriott
2020-04-16Add a helper function to get the terminal flags.Nicholas Marriott
2020-04-16Add support for the iTerm2 sychronized updates escape sequence whichNicholas Marriott
drastically reduces flickering.
2020-04-16Show signal name when process exits rather than number.Nicholas Marriott
2020-04-16Don't miss the last line off the screen when writing after resize, fromNicholas Marriott
Anindya Mukherjee.
2020-04-15Clear the selection and repeat the search on refresh same as resize.Nicholas Marriott
2020-04-15Instead of fixing with the cursor position when the copied screen isNicholas Marriott
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-15Use mode-style for selected items, like choose modes. GitHub issue 2166.Nicholas Marriott
2020-04-15Use grid_empty_line rather than memset when adding new lines on resize.Nicholas Marriott
Also remove some old test code.
2020-04-14Leave the cursor above empty lines.Nicholas Marriott
2020-04-14Adjust cursor and scroll positions when entering copy mode so that theNicholas Marriott
cursor line is still visible even if the source and target panes are different heights.