Commit Graph

9109 Commits (603280cb286350c628ac2dfc06d5b8de135aa2af)

Author SHA1 Message Date
Thomas Adam 30eaf885c4 Merge branch 'obsd-master' 2020-06-09 10:01:17 +01:00
nicm 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
Thomas Adam 9ffdcc7656 Merge branch 'obsd-master' 2020-06-06 14:01:17 +01:00
nicm 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
Nicholas Marriott 0d8ba2e57f Add to CHANGES. 2020-06-05 14:56:55 +01:00
Thomas Adam 92c8cc17c3 Merge branch 'obsd-master' 2020-06-05 14:01:19 +01:00
nicm 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
Thomas Adam 47a5afe5bf Merge branch 'obsd-master' 2020-06-05 12:01:18 +01:00
nicm 03b2998abe Do not take the address of a potentially unaligned member. 2020-06-05 09:35:41 +00:00
nicm c908d2039f Fix various confusion about am vs xenl. 2020-06-05 09:32:15 +00:00
Thomas Adam a06cf900c7 Merge branch 'obsd-master' 2020-06-05 10:01:22 +01:00
nicm 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
nicm 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
Thomas Adam 976cf6c60f Merge branch 'obsd-master' 2020-06-05 00:01:19 +01:00
nicm d9cd493d09 Reset wrapped flag when clearing or moving lines, GitHub issue 2215. 2020-06-04 21:41:31 +00:00
nicm 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
Thomas Adam 8b43fcd82b Merge branch 'obsd-master' 2020-06-04 22:01:17 +01:00
nicm 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
Thomas Adam c8bddfba2b Merge branch 'obsd-master' 2020-06-04 18:01:17 +01:00
nicm 4403afe29c A } can go on the same line as a command. 2020-06-04 16:06:01 +00:00
Thomas Adam 81ba6477ff Merge branch 'obsd-master' 2020-06-04 12:01:20 +01:00
Nicholas Marriott 23a3742dc8 Update CHANGES. 2020-06-04 11:43:11 +01:00
nicm 4ea3370316 Shorten some long lines. 2020-06-04 10:36:28 +00:00
nicm a9bf5367da Correct respawn-* - they don't always use the creation command. 2020-06-04 10:34:40 +00:00
nicm dc74d2e054 Make the -no-clear command variants not clear the search marks either. 2020-06-04 10:24:14 +00:00
Thomas Adam b0a6025897 Merge branch 'obsd-master' 2020-06-04 10:01:20 +01:00
nicm 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
nicm 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
Thomas Adam f837dcdd58 Merge branch 'obsd-master' 2020-06-03 18:01:17 +01:00
nicm 3f6af4156f Make paste -p the default for ], GitHub issue 2248. 2020-06-03 16:35:40 +00:00
Thomas Adam 62c0617d79 Merge branch 'obsd-master' 2020-06-03 00:01:20 +01:00
Thomas Adam 3d5decb305 Merge branch 'obsd-master' 2020-06-02 22:01:20 +01:00
nicm 4694e9a2b6 Move the code to set up a padding cell into grid.c. 2020-06-02 20:51:46 +00:00
nicm 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
nicm f5366ff828 Missing ; in previous. 2020-06-02 19:16:46 +00:00
nicm 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
Thomas Adam ebe866c378 Merge branch 'obsd-master' 2020-06-02 20:01:18 +01:00
nicm 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
Thomas Adam 049ccb4a4b Merge branch 'obsd-master' 2020-06-02 14:01:17 +01:00
nicm 822ee4e0a6 Fail rather than fatal on UTF-8 width 0. 2020-06-02 11:29:00 +00:00
Thomas Adam 31a51cae1d Merge branch 'obsd-master' 2020-06-02 11:29:48 +01:00
nicm f3931497f8 Use CLOCK_MONOTONIC for timer measurement and add a timestamp to control
mode %output blocks.
2020-06-02 08:17:27 +00:00
nicm 563b7331da Remove blocks from queue when pane disappears. 2020-06-01 21:08:05 +00:00
nicm 8339702d47 Check the right thing for maximum client buffer size. 2020-06-01 20:58:42 +00:00
nicm 9819470058 Change format callback to return value rather than storing it in the entry. 2020-06-01 19:39:25 +00:00
Thomas Adam 191a836560 Merge branch 'obsd-master' 2020-06-01 18:01:18 +01:00
nicm 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
Thomas Adam 91e40de2da Merge branch 'obsd-master' 2020-06-01 12:01:20 +01:00
nicm a54a88edd6 Instead of sending all data to control mode clients as fast as possible,
add a limit of how much data will be sent to the client and try to use
it for panes with some degree of fairness. GitHub issue 2217, with
George Nachman.
2020-06-01 09:43:00 +00:00
Thomas Adam 5ef790a6c4 Merge branch 'obsd-master' 2020-05-29 16:01:19 +01:00