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
4a93294152
Use size_t not u_int for the bytes counters and fix a const missing.
2020-04-18 14:21:39 +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
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
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
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
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
a2e47b5279
Show signal name when process exits rather than number.
2020-04-16 07:28:36 +00:00
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
1e72f5ea43
Use mode-style for selected items, like choose modes. GitHub issue 2166.
2020-04-15 16:11:23 +00:00
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
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
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
187277eaad
Add helpers for the simple case of parse string and add to command queue.
2020-04-13 18:59:41 +00:00
34804f2709
When parsing strings, put all commands in one group even if there are
...
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).
2020-04-13 16:19:37 +00:00
3f86d6d460
When adding a list of commands to the queue, instead of automatically
...
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).
2020-04-13 15:55:51 +00:00
adb76fd1ce
Move cmdq_state into cmd-queue.c.
2020-04-13 14:46:04 +00:00
9a65102bfc
Rename cmdq_shared to cmdq_state which will better reflect what it is
...
(going to be) used for.
2020-04-13 14:04:25 +00:00
77d5b0cc53
Store a key event not a mouse event in the shared data.
2020-04-13 13:42:35 +00:00
53d6b94e8a
Move the NOHOOKS flag into the shared flags.
2020-04-13 13:32:09 +00:00
04cdd03525
Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its
...
use more clearly defined and preparation for some future work).
2020-04-13 10:59:58 +00:00
c20eb0c0ae
Make struct cmd local to cmd.c and move it out of tmux.h.
2020-04-13 08:26:27 +00:00
1c433f1354
Remove unused define, also a man fix from jmc.
2020-04-10 20:53:54 +00:00
c0602f357d
Now that copy mode copies the pane content rather than keeping a
...
reference to it, it isn't necessary that the pane in copy mode is the
same as the one copying from. Add a -s flag to copy-mode to specify a
different pane for the source content. This means it is possible to view
two places in a pane's history at the same time in different panes, or
copy from a pane's history into an editor or shell in the same pane.
From Anindya Mukherjee.
2020-04-10 07:44:26 +00:00
e9e5facb0e
Some minor style nits.
2020-04-09 14:23:34 +00:00
0e8710f507
Wait until the initial command sequence is done before sending a device
...
attributes request and other bits that prompt a reply from the terminal.
This means that stray relies are not left on the terminal if the command
has attached and then immediately detached and tmux will not be around
to receive them. Prompted by a problem report from espie@.
2020-04-09 12:16:16 +00:00
5d0eb619f1
Restore pane_current_path format from portable tmux, it is no longer
...
used by default and is very useful.
2020-04-08 11:26:07 +00:00
1c8f7c1f7a
Do not restore history flag if it was never set.
2020-04-07 13:55:24 +00:00
77b827f879
Change copy mode to make copy of the pane history so it does not need to
...
freeze updates (which does not play nicely with some applications, a
longstanding problem) and will allow some other changes later. From
Anindya Mukherjee.
2020-04-06 17:51:34 +00:00
dd2fdcda79
Support mouse in popups.
2020-04-01 09:05:27 +00:00
38f1546a66
Add a way to mark environment variables as "hidden" so they can be used
...
by tmux but are not passed into the environment of new panes.
2020-03-31 17:14:40 +00:00
e6d1b6770c
Add non-regex search variants to avoid the performance cost for people
...
with large histories or long lines.
2020-03-31 16:53:23 +00:00
cc8b41f294
Add a way to mark environment variables as "hidden" so they can be used
...
by tmux but are not passed into the environment of new panes.
2020-03-31 17:14:40 +00:00
2624edde46
Add non-regex search variants to avoid the performance cost for people
...
with large histories or long lines.
2020-03-31 16:53:23 +00:00
01b3bb8e2c
Add a "second click" key type which is fired for the second click of a
...
double click, even if the timer hasn't expired to confirm it isn't
actually a triple click. Provides a way for people who don't care about
triple clicks or can make their commands have no side effects to avoid
the double click timer delay.
2020-03-31 11:38:35 +00:00
3bbd66c013
Move alternate screen into the screen rather than the pane.
2020-03-31 07:00:34 +00:00
1fb504d0d5
Tweak key numbers to avoid some special keys crossing over with modifier bits.
2020-03-30 16:16:48 +00:00
593fddf84b
Make two -E only close popup automatically if the command exited with 0.
2020-03-28 09:51:12 +00:00
4346098e97
Fix how popup height is calculated to take embedded newlines into account.
2020-03-28 09:39:44 +00:00
8a838b0372
Add support for overlay popup boxes to show text or output temporarily
...
above the normal layout. These work similarly to menus and are created
with the display-popup command.
2020-03-24 08:09:43 +00:00
8828b958f0
Break code to convert an argument as a percentage into a common function.
2020-03-21 13:16:15 +00:00
06c3079d66
Make the mouse_word and mouse_line formats work in copy mode and enable
...
the default pane menu in copy mode.
2020-03-20 17:59:39 +00:00
de34436d4c
Change input path so it doesn't require a pane.
2020-03-19 14:03:48 +00:00
e8273a993e
Add a flag to run a background process in a pty as well, not used for
...
anything yet.
2020-03-19 13:43:18 +00:00