Commit Graph

2209 Commits

Author SHA1 Message Date
8c9bbc3749 Merge branch 'obsd-master' 2020-04-19 00:01:31 +01:00
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
7da5418758 Merge branch 'obsd-master' 2020-04-18 20:01:29 +01:00
100db552d1 A resize can realloc so cannot cache the value of the list pointer. 2020-04-18 17:20:25 +00:00
2b83ee5557 Merge branch 'obsd-master' 2020-04-18 18:01:28 +01:00
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
2ccf15e5d8 Merge branch 'obsd-master' 2020-04-18 16:01:34 +01: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
e1799ed7c8 Merge branch 'obsd-master' 2020-04-18 10:01:31 +01: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
349617a818 Merge branch 'obsd-master' 2020-04-18 08:01:37 +01: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
7a21e911e1 Merge branch 'obsd-master' 2020-04-17 16:01:33 +01: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
21eb2ba419 Merge branch 'obsd-master' 2020-04-16 18:01:32 +01: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
5e38d26257 Merge branch 'obsd-master' 2020-04-16 16:01:35 +01: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
dd66ede38b Merge branch 'obsd-master' 2020-04-16 10:01:33 +01:00
a2e47b5279 Show signal name when process exits rather than number. 2020-04-16 07:28:36 +00:00
6d6309014e Merge branch 'obsd-master' 2020-04-15 20:01:27 +01: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
ebeb457385 Merge branch 'obsd-master' 2020-04-15 18:01:27 +01:00
1e72f5ea43 Use mode-style for selected items, like choose modes. GitHub issue 2166. 2020-04-15 16:11:23 +00:00
fe1778e377 Merge branch 'obsd-master' 2020-04-15 16:01:27 +01: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
6d9b3704f5 Merge branch 'obsd-master' 2020-04-14 08:01:33 +01: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
653a159225 Merge branch 'obsd-master' 2020-04-14 00:01:41 +01:00
2159ff3256 Merge branch 'obsd-master' 2020-04-13 22:01:30 +01: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
acc00cd13a Merge branch 'obsd-master' 2020-04-13 18:01:43 +01: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
0a11f1607b Merge branch 'obsd-master' 2020-04-13 16:01:46 +01: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
8f2b5d714a Merge branch 'obsd-master' 2020-04-13 14:01:45 +01: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
b117c3b812 Merge branch 'obsd-master' 2020-04-13 10:30:00 +01:00
c20eb0c0ae Make struct cmd local to cmd.c and move it out of tmux.h. 2020-04-13 08:26:27 +00:00