Commit Graph

2625 Commits

Author SHA1 Message Date
824efe7be4 Merge branch 'obsd-master' 2020-06-13 12:01:20 +01: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
b5c86fdc0c Merge branch 'obsd-master' 2020-06-11 22:01:23 +01: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
e8c99496cd Merge branch 'obsd-master' 2020-06-11 12:01:19 +01:00
50ee41423f Add a -A option to pause a pane manually. 2020-06-11 09:55:47 +00:00
ea4425b9bd Merge branch 'obsd-master' 2020-06-10 10:01:20 +01: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
92c8cc17c3 Merge branch 'obsd-master' 2020-06-05 14:01:19 +01: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
47a5afe5bf Merge branch 'obsd-master' 2020-06-05 12:01:18 +01:00
c908d2039f Fix various confusion about am vs xenl. 2020-06-05 09:32:15 +00:00
a06cf900c7 Merge branch 'obsd-master' 2020-06-05 10:01:22 +01: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
62c0617d79 Merge branch 'obsd-master' 2020-06-03 00:01:20 +01:00
3d5decb305 Merge branch 'obsd-master' 2020-06-02 22:01:20 +01: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
31a51cae1d Merge branch 'obsd-master' 2020-06-02 11:29:48 +01: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
9819470058 Change format callback to return value rather than storing it in the entry. 2020-06-01 19:39:25 +00:00
91e40de2da Merge branch 'obsd-master' 2020-06-01 12:01:20 +01:00
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
a4cb700269 Merge branch 'obsd-master' 2020-05-26 14:02:15 +01:00
ea610a3119 Pass the stdout file descriptor from the client as well as stdin and use
them for control clients directly instead of passing everything via the
client.
2020-05-26 08:41:47 +00:00
967e5f8be3 Merge branch 'obsd-master' 2020-05-26 08:42:55 +01:00
6f03e49e68 Use the internal representation for UTF-8 keys instead of wchar_t and
drop some code only needed for that.
2020-05-25 18:57:24 +00:00
49ec074271 Tidy up new UTF-8 code and make it more generic. 2020-05-25 18:19:29 +00:00
b34af611a5 Merge branch 'obsd-master' 2020-05-25 18:01:20 +01:00
bbfb44e9b2 Make some data types consistent. 2020-05-25 15:02:25 +00:00
bb5a1925ab Merge branch 'obsd-master' 2020-05-25 12:01:19 +01:00
3a5219c6d0 Instead of storing all UTF-8 characters in the extended cell which means
that 14 bytes are wasted for each character in the BMP, only store
characters of three bytes or less in the cell itself and store others
(outside the BMP or with combining characters) in a separate global
tree. Can reduce grid memory use for heavy Unicode users by around 30%.
2020-05-25 09:32:10 +00:00
aeefd585a0 Merge branch 'obsd-master' 2020-05-24 12:01:21 +01:00
18aab90959 Give control code its own state struct. 2020-05-24 09:40:17 +00:00
6c82982711 Now the tty has a pointer back to the client there is no point (and a
bit confusing) in it keeping a copy of the fd as well. Remove it.
2020-05-24 09:13:06 +00:00
d48f0e114e Merge branch 'obsd-master' 2020-05-22 13:40:33 +01:00
9a0763c3a0 Move client offset stuff into control.c since only control clients will
need it.
2020-05-22 11:07:04 +00:00
40126ee96c Merge branch 'obsd-master' 2020-05-21 08:55:31 +01:00
31e3f2d530 Support code for control mode flow control: allow clients to have
separate offsets (used and acknowleged) into the pane buffers; turn off
reading from panes when no clients can accept the data; and add a -A
flag to refresh-client to let clients turn receiving a pane on and off.
2020-05-21 07:24:13 +00:00
574a9e4b6c Move lazy resize from the pane to the window, there is no point in
resizing the window unless it is the current window, and if we do and
don't resize the pane until later there are problems if the size changes
from A to B then back to A.
2020-05-16 16:50:55 +00:00
e2a26740b9 Add an option to set the pane border lines style from a choice of single
lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or
number (the pane numbers). Lines that won't work on a non-UTF-8 terminal
are translated back into ACS when they are output.
2020-05-16 16:26:34 +00:00
ecbdcc256f Add screen write flags instead of individual bits and fix line length
calculation with padding.
2020-05-16 16:22:01 +00:00
303d342d5f Add a client flag 'active-pane' which stores the active pane in the
client and allows it to be changed independently from the real active
pane stored in the window. This is can be used with session groups which
allow an independent current window (although it would be nice to have a
flag for this too and remove session groups). The client active pane is
only really useful interactively, many things (hooks, window-style,
zooming) still use the window active pane.
2020-05-16 16:20:59 +00:00
c914abfa19 Expand target from client and use it to expand the prompt. 2020-05-16 16:16:07 +00:00
72984c4834 Move editor stuff to common code in popup.c. 2020-05-16 16:13:09 +00:00
dceb6a15d0 Add a -D flag to ask tmux not to daemonize, useful both for running a
debugger (lldb does not have follow-fork-mode) and for running with a
managed supervisor init system. GitHub issue 2190.
2020-05-16 16:07:55 +00:00
d67245c734 Add a customize mode where keys and options may be browsed and changed,
includes adding a brief description of each option. Bound to "C" by
default.
2020-05-16 16:02:24 +00:00
472d77fd0f Support embedded styles in the display-message message, GitHub issue
2206.
2020-05-16 15:54:20 +00:00
6ea6d46d0a Store and restore cursor position when copy mode is resized, from
Anindya Mukherjee.
2020-05-16 15:49:20 +00:00
367b4e4e0f Change message log to be per server rather than per client and include
every command that is run.
2020-05-16 15:47:22 +00:00