summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Only trim blank lines when the source pane is not the target pane,nicm2020-04-201-9/+12
| | | | otherwise the cursor moves which is a bit strange.
* Need to check for pane redrawing even if just the window flag is setnicm2020-04-201-3/+9
| | | | | (the pane flag may not have been previously set to avoid looping the windows).
* The PANE_REDRAW flag bit might be needed by other panes so we can'tnicm2020-04-183-15/+40
| | | | | | | 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.
* A resize can realloc so cannot cache the value of the list pointer.nicm2020-04-183-39/+43
|
* Reset background colour on scrolled line.nicm2020-04-181-1/+2
|
* There is no point in keeping a bunch of different text buffers for eachnicm2020-04-183-24/+60
| | | | | 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.
* Use size_t not u_int for the bytes counters and fix a const missing.nicm2020-04-182-5/+5
|
* Use peek line function instead of hoking in the array directly.nicm2020-04-181-3/+3
|
* Bring back previons fix to only redraw panes that need it after a redrawnicm2020-04-184-15/+27
| | | | | is deferred, but clear the pane flags when they are actually redrawn rather than every time.
* Add formats for pane written/skipped bytes for debugging.nicm2020-04-184-5/+17
|
* Only update mode when actually going to redraw something.nicm2020-04-181-3/+3
|
* Add a flag to protect against nested syncs and add some extra logging tonicm2020-04-184-9/+22
| | | | redrawing.
* Revert previous, there is still a problem.nicm2020-04-184-41/+19
|
* When a redraw is deferred because the terminal hasn't finished readingnicm2020-04-184-19/+41
| | | | | | | | | 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.
* Set mode properly before and after redrawing, and don't bothernicm2020-04-172-5/+10
| | | | calculating cursor position if it won't be used.
* Do not move the cursor to the existing y position if it is invalid, gonicm2020-04-171-4/+11
| | | | home instead.
* There is no point allocating a new item and putting it on the list whennicm2020-04-171-20/+15
| | | | | the whole line is cleared line, there is never any point in doing it more than once. Instead store the background colour alone.
* Make sure the cursor position is still on screen after we have trimmednicm2020-04-173-8/+19
| | | | empty lines. Also improve some log messages.
* Support the application escape sequence mintty (means tmux doesn't havenicm2020-04-172-3/+8
| | | | to delay to wait for Escape).
* Add a copy-command option and change copy-pipe and friends to pipe to itnicm2020-04-174-29/+43
| | | | | if used without arguments, allows all copy key bindings to be changed to pipe with one option.
* Return to sending sync around clears.nicm2020-04-161-2/+5
|
* Do not need to set up a tty context for clearing lines now.nicm2020-04-161-9/+1
|
* Collect up line clears like text within the available data so we don'tnicm2020-04-161-41/+168
| | | | need to flush everything.
* Log what caused a flush for better visibility on what could be improved.nicm2020-04-161-27/+31
|
* Start menu with top item selected if no mouse, GitHub issue 2169.nicm2020-04-161-2/+15
|
* Only start and stop sync for operations like clear and scroll wherenicm2020-04-162-50/+55
| | | | there is a better chance more data will be on the way.
* Send secondary device attributes instead of primary which gives us a bitnicm2020-04-163-18/+26
| | | | more useful information on some terminals.
* Move the UTF-8 flag to terminal flags.nicm2020-04-165-10/+11
|
* Add a helper function to get the terminal flags.nicm2020-04-162-20/+29
|
* Add support for the iTerm2 sychronized updates escape sequence whichnicm2020-04-167-10/+64
| | | | drastically reduces flickering.
* Show signal name when process exits rather than number.nicm2020-04-163-5/+18
|
* Don't miss the last line off the screen when writing after resize, fromnicm2020-04-161-2/+2
| | | | Anindya Mukherjee.
* Clear the selection and repeat the search on refresh same as resize.nicm2020-04-151-15/+23
|
* Instead of fixing with the cursor position when the copied screen isnicm2020-04-153-65/+91
| | | | | | 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.
* Use mode-style for selected items, like choose modes. GitHub issue 2166.nicm2020-04-153-17/+23
|
* Use grid_empty_line rather than memset when adding new lines on resize.nicm2020-04-153-17/+7
| | | | Also remove some old test code.
* Leave the cursor above empty lines.nicm2020-04-141-4/+2
|
* Adjust cursor and scroll positions when entering copy mode so that thenicm2020-04-141-4/+12
| | | | | cursor line is still visible even if the source and target panes are different heights.
* Send keys when they are complete not before (!= vs ==).nicm2020-04-141-2/+2
|
* Provide an accessor for the running queue item and use it to not letnicm2020-04-143-16/+36
| | | | hooks recurse.
* Missed a few warnings in previous.nicm2020-04-134-10/+6
|
* Make client -c and -t handling common in cmd-queue.c and try to benicm2020-04-1333-287/+283
| | | | | clearer about whether the client is the target client (must have a session) or not.
* Add helpers for the simple case of parse string and add to command queue.nicm2020-04-1310-173/+145
|
* When parsing strings, put all commands in one group even if there arenicm2020-04-133-13/+38
| | | | | | newlines. This means that for example bind q { a \n b } and bind q "a ; b" are the same. Also log commands in different groups separated by ;; rather than ; (a command list like this should never be user visible).
* When adding a list of commands to the queue, instead of automaticallynicm2020-04-1316-137/+203
| | | | | | | creating a new state for each group of commands, require the caller to create one and use it for all the commands in the list. This means the current target works even with list with multiple groups (which can happen if they are defined with newlines).
* Move cmdq_state into cmd-queue.c.nicm2020-04-1324-113/+123
|
* Rename cmdq_shared to cmdq_state which will better reflect what it isnicm2020-04-1324-112/+112
| | | | (going to be) used for.
* Store a key event not a mouse event in the shared data.nicm2020-04-1311-33/+38
|
* Move the NOHOOKS flag into the shared flags.nicm2020-04-133-15/+14
|
* Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make itsnicm2020-04-1362-398/+532
| | | | use more clearly defined and preparation for some future work).