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
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
nicm
822ee4e0a6
Fail rather than fatal on UTF-8 width 0.
2020-06-02 11:29:00 +00: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
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
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
nicm
175e45005f
Add -i to find-window to ignore case.
2020-05-29 13:42:13 +00:00
nicm
bda2a0282a
Fix ASCII keys with send-keys -l.
2020-05-27 14:45:35 +00:00
nicm
f336599a3a
Make padding cell a valid character.
2020-05-27 06:23:23 +00:00
nicm
2ced370bee
Tweak some out of date bits, reported by bcgraham.
2020-05-26 13:19:21 +00:00
nicm
ff6f2ff6d9
Return new character properly when converting to data.
2020-05-26 12:50:03 +00:00
nicm
392b381d1c
Apply -n when only one pane in the window.
2020-05-26 09:01:03 +00:00
nicm
370f0bb98d
Remove leftover debug logging and fix comparison.
2020-05-26 08:56:48 +00:00
nicm
ca0166f26f
Do not try to use the last marked pane if it is invalid.
2020-05-26 08:47:50 +00:00
nicm
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
nicm
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
nicm
35779d655d
Fix definition of padding cells so they are not extended cells.
2020-05-25 18:55:36 +00:00
nicm
49ec074271
Tidy up new UTF-8 code and make it more generic.
2020-05-25 18:19:29 +00:00
nicm
dc893405e1
Fix some error strings, from Kris Katterjohn.
2020-05-25 18:17:14 +00:00
nicm
bbfb44e9b2
Make some data types consistent.
2020-05-25 15:02:25 +00:00
nicm
4589297e43
Do not attempt to divide by zero when working out copy position.
2020-05-25 12:12:58 +00:00
nicm
26e8e467e8
Include title for the width of the menu.
2020-05-25 11:59:50 +00:00
nicm
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
nicm
14a9fd58d5
Remove leftover call to control_free_offsets and do not use for
...
non-control clients.
2020-05-24 14:45:00 +00:00
nicm
18aab90959
Give control code its own state struct.
2020-05-24 09:40:17 +00:00
nicm
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
nicm
033d6472cb
FocusIn keys can also update the latest client, like normal keys.
2020-05-22 15:43:38 +00:00
nicm
a06a0e1392
xterm* can have focus too.
2020-05-22 15:08:38 +00:00
nicm
9a0763c3a0
Move client offset stuff into control.c since only control clients will
...
need it.
2020-05-22 11:07:04 +00:00
nicm
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
nicm
6bde1c1837
Fix a couple more places where the key flags need to be masked off.
2020-05-20 07:11:45 +00:00
nicm
b53e60f4c6
Remove a redundant if statement.
2020-05-20 06:18:22 +00:00
nicm
2a9e2b556a
Key strings need to include the cursor and keypad flags now since the
...
output key lookup expects them already set.
2020-05-20 06:13:09 +00:00
nicm
8425084b8a
Some other ctrl keys need to be translated with extended keys on.
2020-05-19 10:59:09 +00:00
nicm
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
nicm
844b363baf
On select-window, make this client the latest client for the window.
2020-05-16 16:45:55 +00:00
nicm
0ab82d9531
Add a terminal feature for enable/disable extended keys (supported by
...
xterm and mintty) and add an option to make tmux send it. Only forward
extended keys if the application has requested them, even though we use
the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as
well.
2020-05-16 16:44:54 +00:00
nicm
292b335ca5
Separate key flags and modifiers, log key flags, make the "xterm" flag
...
more explicit and fix M- keys with a leading escape.
2020-05-16 16:35:13 +00:00
nicm
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
nicm
ecbdcc256f
Add screen write flags instead of individual bits and fix line length
...
calculation with padding.
2020-05-16 16:22:01 +00:00
nicm
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
nicm
c914abfa19
Expand target from client and use it to expand the prompt.
2020-05-16 16:16:07 +00:00
nicm
72984c4834
Move editor stuff to common code in popup.c.
2020-05-16 16:13:09 +00:00
nicm
ff8dd150e0
Add a mark in copy mode. Set with set-mark command (bound to 'X') by
...
default and the mark and cursor position are swapped with 'jump-to-mark'
(bound to M-x). The line containing the mark is shown in
copy-mode-mark-style with the horizontal position in reverse.
From Anindya Mukherjee in GitHub issue 2209.
2020-05-16 16:10:28 +00:00