2b1e8d06e1
Check if client is NULL before using it, GitHub issue 2295.
2020-07-03 07:00:12 +00:00
2a9bdb700d
Replace TAILQ concatenation loop with TAILQ_CONCAT
...
As a result remove unneeded variables
OK @nicm
2020-06-29 15:53:28 +00:00
b6aeb86c20
Check for no pane border status line separately from top/bottom.
2020-06-27 10:23:10 +00:00
74df7071ad
Fix 0x Unicode character parsing, GitHub issue 2286.
2020-06-27 10:19:59 +00:00
f69bdda950
Silently ignore -a or -b if the window index doesn't exist and create
...
using that index (this is how it used to work), reported by Romain
Francoise.
2020-06-25 08:56:02 +00:00
5340bf556e
Correctly redraw pane border bottom line when the status line is on and
...
at the bottom, reported by Kaushal Modi.
2020-06-23 14:10:43 +00:00
2964dde903
Use xvasprintf not vasprintf.
2020-06-23 05:23:26 +00:00
068b92b051
The redraw callback could be fired with a NULL pane if it updates while
...
in a mode, problem reported by Martin Vahlensieck.
2020-06-18 08:41:56 +00:00
2372b0fdc6
Add a flag to make a client wait for an empty line before exiting in
...
control mode to avoid stray commands ending up in the shell.
2020-06-18 08:34:22 +00:00
1bf9555e4f
d and D keys to reset to default in customize mode.
2020-06-16 08:18:34 +00:00
afe4ea4250
Correctly move to previous line when looking for previous word, from
...
Derry Jing.
2020-06-16 07:28:57 +00:00
1c78155e70
Add -b flags to insert a window before (like the existing -a for after)
...
to break-pane, move-window, new-window. GitHub issue 2261.
2020-06-13 09:05:53 +00:00
d52ac7d027
Do not wait on shutdown for commands started with run -b.
2020-06-12 10:31:12 +00:00
d8d7769104
Check if a pane needs to be paused when output is written rather than
...
just when it is queued.
2020-06-12 08:35:01 +00:00
4c3bdc5a36
move-pane also defaults to marked pane now, reported by Ben Challenor.
2020-06-12 07:52:38 +00:00
cf63465eb0
Fix quoting with newlines and single quotes.
2020-06-12 07:10:43 +00:00
63c2ed1483
Add some formats for search in copy mode (search_present, search_match).
...
GitHub issue 2268.
2020-06-11 19:43:34 +00:00
cf13d1e110
Fix a crash when completing sessions, from Anindya Mukherjee.
2020-06-11 10:56:19 +00:00
50ee41423f
Add a -A option to pause a pane manually.
2020-06-11 09:55:47 +00:00
23d79cfda8
Instead of a buffer size limit on each pane, set a limit of 300 seconds
...
of data for each client in control mode.
2020-06-10 07:27:10 +00:00
fddcad6957
When the pause-after flag is set, send an alternative %extended-output
...
form instead of %output with the age of the output.
2020-06-10 06:23:43 +00:00
fee585ea14
Include width in error message.
2020-06-09 10:37:00 +00:00
c60389acbf
It is not sensible to store pointers into an array we are going to
...
realloc (duh), use two trees instead.
2020-06-09 08:34:33 +00:00
a4a3d89598
Use bitshifts instead of a union for encoding UTF-8 into 32 bits, which
...
is more friendly to GCC3.
Reported by and ok aoyama@.
2020-06-06 12:38:32 +00:00
d919fa1ed0
Change how panes are resized so that the code is clearer and if the pane
...
is resized multiple times during one event loop, it is forced to resize
at the end. Also don't zoom/unzoom in switch-client if the pane hasn't
changed. GitHub issue 2260.
2020-06-05 11:20:51 +00:00
03b2998abe
Do not take the address of a potentially unaligned member.
2020-06-05 09:35:41 +00:00
c908d2039f
Fix various confusion about am vs xenl.
2020-06-05 09:32:15 +00:00
4e5e2c19d0
Now that we mostly only search visible text, the rate limit on repeating
...
search does not seem to be necessary, remove it for the moment.
2020-06-05 07:44:42 +00:00
c586208991
Add support for pausing a pane when the output buffered for a control
...
mode client gets too far behind. The pause-after flag with a time is set
on the pane with refresh-client -f and a paused pane may be resumed with
refresh-client -A. GitHub issue 2217.
2020-06-05 07:33:57 +00:00
d9cd493d09
Reset wrapped flag when clearing or moving lines, GitHub issue 2215.
2020-06-04 21:41:31 +00:00
2154e1f4fb
Search marks outside the visible text are not useful, so there is no
...
point in allocating a big buffer to store them - just allocate the
visible text size, and ignore any outside.
2020-06-04 21:40:27 +00:00
c4732af006
Some improvements to performance of searching:
...
- Do not allow searches to be repeated at intervals of less than 50
milliseconds, to prevent a huge queue of repeat key presses blocking
up everything for ages.
- If the search text hasn't changed, the match count can't have changed
and there is no need to do a full search, so only search the visible
text. This includes both scrolling and repeating the search.
- Do not redraw twice when jumping to the search location.
GitHub issue 2258.
2020-06-04 20:41:57 +00:00
4403afe29c
A } can go on the same line as a command.
2020-06-04 16:06:01 +00:00
4ea3370316
Shorten some long lines.
2020-06-04 10:36:28 +00:00
a9bf5367da
Correct respawn-* - they don't always use the creation command.
2020-06-04 10:34:40 +00:00
dc74d2e054
Make the -no-clear command variants not clear the search marks either.
2020-06-04 10:24:14 +00:00
d3c5202f50
Allow strings to span multiple lines - newlines and any leading
...
whitespace are removed, as well as any following comments that couldn't
be part of a format. This allows long formats or other strings to be
annotated and indented.
2020-06-04 08:30:44 +00:00
b3782d2dc8
Instead of using a custom parse function to process {}, treat it as a
...
set of statements and parse with yacc, then convert back to a string as
the last step. This means the rules are consistent inside and outside
{}, %if and friends work at the right time, and the final result isn't
littered with unnecessary newlines.
2020-06-04 07:12:05 +00:00
3f6af4156f
Make paste -p the default for ], GitHub issue 2248.
2020-06-03 16:35:40 +00:00
4694e9a2b6
Move the code to set up a padding cell into grid.c.
2020-06-02 20:51:46 +00:00
2a4d4bda2b
Allow UTF-8 characters of width 0 to be stored, it is useful to be able
...
to put padding cells in as width 0.
2020-06-02 20:10:23 +00:00
f5366ff828
Missing ; in previous.
2020-06-02 19:16:46 +00:00
5fbae8c8c6
Fire copy-pipe command even if there is no text, means it works if it
...
has side effects.
2020-06-02 19:10:26 +00:00
7e501f1993
UTF-8 keys need to be big endian so the size bits are at the top.
2020-06-02 17:17:44 +00:00
822ee4e0a6
Fail rather than fatal on UTF-8 width 0.
2020-06-02 11:29:00 +00:00
f3931497f8
Use CLOCK_MONOTONIC for timer measurement and add a timestamp to control
...
mode %output blocks.
2020-06-02 08:17:27 +00:00
563b7331da
Remove blocks from queue when pane disappears.
2020-06-01 21:08:05 +00:00
8339702d47
Check the right thing for maximum client buffer size.
2020-06-01 20:58:42 +00:00
9819470058
Change format callback to return value rather than storing it in the entry.
2020-06-01 19:39:25 +00:00
674ec410b7
Try without cursor/keypad flags if a key doesn't exist, and limit ctrl
...
key translation to ASCII keys. Fixes send-keys, GitHub issue 2247.
2020-06-01 16:09:35 +00:00