nicm
2b58c226db
Add a couple of helper functions, and flush imsgs on exit.
2021-02-11 09:39:29 +00:00
nicm
e40831a002
Move file handling protocol stuff all into file.c so it can be reused
...
more easily.
2021-02-11 08:28:45 +00:00
Thomas Adam
39904f7fc6
Merge branch 'obsd-master' into master
2021-02-05 14:01:23 +00:00
nicm
3dddc11603
Send Unicode directional isolate characters around horizontal pane
...
borders if the terminal support UTF-8 and an extension terminfo(5)
capability "Bidi" is present. On terminals with BiDi support (ie, VTE)
this seems to be enough to display right-to-left text acceptably enough
to be usable (with some caveats about the mouse position). Requested by
and with help from Mahmoud Elagdar in GitHub issue 2425.
2021-02-05 12:29:18 +00:00
Thomas Adam
545a610c6b
Merge branch 'obsd-master' into master
2021-01-29 12:01:21 +00:00
nicm
255802d8d7
Trim output overwritten by later text or clears completely rather than
...
only in a few cases. This means we can better track when a line should
wrap. GitHub issue 2537.
2021-01-29 09:48:43 +00:00
Thomas Adam
9ff017e908
Merge branch 'obsd-master' into master
2021-01-20 08:01:22 +00:00
nicm
fb774b77d0
Change so that window_flags escapes # automatically which means configs
...
will not have to change. A new format window_raw_flags contains the old
unescaped version.
2021-01-20 07:16:54 +00:00
Thomas Adam
66da51b631
Merge branch 'obsd-master' into master
2021-01-18 12:01:22 +00:00
nicm
91d112bf12
There is no need to clear every line entirely before drawing to it, this
...
means moving the cursor and messes up wrapping. Better to just clear the
sections that aren't written over. GitHub issue 2537.
2021-01-18 10:27:54 +00:00
Thomas Adam
24c15eda79
Merge branch 'obsd-master' into master
2021-01-17 18:01:21 +00:00
Nicholas Marriott
a3011be0d2
Look for libevent2 differently from libevent for platforms with both.
2021-01-17 17:21:51 +00:00
nicm
71c590a37f
Add -N flag to never start server even if command would normally do so,
...
GitHub issue 2523.
2021-01-17 16:17:41 +00:00
Thomas Adam
dc1e1125a5
Merge branch 'obsd-master' into master
2021-01-08 12:01:21 +00:00
nicm
a75aca4d6a
Missed from last commit.
2021-01-08 10:09:44 +00:00
Thomas Adam
70a0eb3a22
Merge branch 'obsd-master' into master
2020-12-24 22:21:21 +00:00
nicm
c43f2dce1b
Break cursor movement in grid into a common set of functions that can
...
handle line wrapping and so on in one place and use them for the obvious
copy mode commands. From Anindya Mukherjee.
2020-12-22 09:22:14 +00:00
Thomas Adam
e288ea153c
Merge branch 'obsd-master' into master
2020-12-03 08:01:22 +00:00
nicm
fd451aa796
Redraw any visible modes when status line changes so that formats like
...
the pane title are updated. GitHub issue 2487. Also a man page fix from
jmc.
2020-12-03 07:12:11 +00:00
Thomas Adam
970e8f734c
Merge branch 'obsd-master'
2020-10-30 10:01:22 +00:00
nicm
649e5970e9
Add a -O flag to display-menu to change the mouse behaviour and not
...
close the menu when the mouse is released, from teo_paul1 at yahoo dot
com.
2020-10-30 08:55:56 +00:00
Thomas Adam
f5b7ebc540
Merge branch 'obsd-master'
2020-10-05 12:01:23 +01:00
nicm
c8f3736b07
Use the setal capability as well as (tmux's) Setulc.
2020-10-05 09:53:01 +00:00
Thomas Adam
a34ceb1074
Merge branch 'obsd-master'
2020-09-22 08:01:18 +01:00
nicm
86d6ac2f06
Fix warnings on some platforms with %llx and add a new message to handle
...
64-bit client flags.
2020-09-22 05:23:34 +00:00
Thomas Adam
fc9ecdc665
Merge branch 'obsd-master'
2020-09-02 16:01:20 +01:00
nicm
37b1600d9c
Add a -w flag to set- and load-buffer to send to clipboard using OSC 52.
...
GitHub issue 2363.
2020-09-02 13:46:35 +00:00
Thomas Adam
655134f77c
Merge branch 'obsd-master'
2020-08-25 14:01:19 +01:00
nicm
20fcdcfea1
Allow colour to be spelt as color, from Boris Verkhovsky. GitHub issue
...
2317.
2020-08-25 11:35:32 +00:00
Thomas Adam
2fdd5fa507
Merge branch 'obsd-master'
2020-07-27 10:01:21 +01:00
nicm
40e65c5115
Add a -d option to display-message to set delay, from theonekeyg at
...
gmail dot com in GitHub issue 2322.
2020-07-27 08:03:10 +00:00
Thomas Adam
90de0c1a9b
Merge branch 'obsd-master'
2020-07-21 08:01:19 +01:00
nicm
743ab5728d
Fix show-buffer when run from inside tmux, GitHub issue 2314.
2020-07-21 05:24:33 +00:00
Thomas Adam
aa4f3a9b3d
Merge branch 'obsd-master'
2020-07-06 12:01:22 +01:00
nicm
66d5e5de7a
Add a way for control mode clients to subscribe to a format and be
...
notified of changes rather than having to poll. GitHub issue 2242.
2020-07-06 09:14:20 +00:00
Thomas Adam
c0d9eaff9b
Merge branch 'obsd-master'
2020-07-04 16:01:20 +01:00
nicm
1e42689661
kill-window -a cannot just walk the list of windows because if
...
renumber-windows is on, the window it wants to keep could be moved.
Change to renumber afterwards and also behave better if the window is
linked into the session twice. GitHub issue 2287.
2020-07-04 14:24:02 +00:00
Thomas Adam
6c437d45ac
Merge branch 'obsd-master'
2020-06-18 12:01:22 +01:00
nicm
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
Thomas Adam
eb448daa1a
Merge branch 'obsd-master'
2020-06-16 10:01:21 +01:00
nicm
1bf9555e4f
d and D keys to reset to default in customize mode.
2020-06-16 08:18:34 +00:00
Thomas Adam
824efe7be4
Merge branch 'obsd-master'
2020-06-13 12:01:20 +01:00
nicm
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
Thomas Adam
b5c86fdc0c
Merge branch 'obsd-master'
2020-06-11 22:01:23 +01:00
nicm
63c2ed1483
Add some formats for search in copy mode (search_present, search_match).
...
GitHub issue 2268.
2020-06-11 19:43:34 +00:00
Thomas Adam
e8c99496cd
Merge branch 'obsd-master'
2020-06-11 12:01:19 +01:00
nicm
50ee41423f
Add a -A option to pause a pane manually.
2020-06-11 09:55:47 +00:00
Thomas Adam
ea4425b9bd
Merge branch 'obsd-master'
2020-06-10 10:01:20 +01:00
nicm
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
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
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
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
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
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
9819470058
Change format callback to return value rather than storing it in the entry.
2020-06-01 19:39:25 +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
a4cb700269
Merge branch 'obsd-master'
2020-05-26 14:02:15 +01: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
Thomas Adam
967e5f8be3
Merge branch 'obsd-master'
2020-05-26 08:42:55 +01: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
49ec074271
Tidy up new UTF-8 code and make it more generic.
2020-05-25 18:19:29 +00:00
Thomas Adam
b34af611a5
Merge branch 'obsd-master'
2020-05-25 18:01:20 +01:00
nicm
bbfb44e9b2
Make some data types consistent.
2020-05-25 15:02:25 +00:00
Thomas Adam
bb5a1925ab
Merge branch 'obsd-master'
2020-05-25 12:01:19 +01: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
Thomas Adam
aeefd585a0
Merge branch 'obsd-master'
2020-05-24 12:01:21 +01: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
Thomas Adam
d48f0e114e
Merge branch 'obsd-master'
2020-05-22 13:40:33 +01: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
Thomas Adam
40126ee96c
Merge branch 'obsd-master'
2020-05-21 08:55:31 +01: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
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
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
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
nicm
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
nicm
472d77fd0f
Support embedded styles in the display-message message, GitHub issue
...
2206.
2020-05-16 15:54:20 +00:00
nicm
6ea6d46d0a
Store and restore cursor position when copy mode is resized, from
...
Anindya Mukherjee.
2020-05-16 15:49:20 +00:00
nicm
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
nicm
cf9baddd6f
Change the existing client flags for control mode to apply for any
...
client, use the same mechanism for the read-only flag and add an
ignore-size flag.
refresh-client -F has become -f (-F stays for backwards compatibility)
and attach-session and switch-client now have -f flags also. A new
format "client_flags" lists the flags and is shown by list-clients by
default.
This separates the read-only flag from "ignore size" behaviour (new
ignore-size) flag - both behaviours are useful in different
circumstances.
attach -r and switchc -r remain and set or toggle both flags together.
2020-05-16 15:45:29 +00:00
nicm
beb214bcb3
Add formats for after hook command arguments.
2020-05-16 15:40:04 +00:00
nicm
9605b080f6
Do not hoke into struct window_pane from the tty code and instead set
...
everything up in tty_ctx. Provide a way to initialize the tty_ctx from a
callback and use it to let popups draw directly through input_parse in
the same way as panes do, rather than forcing a full redraw on every
change.
2020-05-16 15:34:08 +00:00
nicm
379ca54c80
Rename and tidy some stuff in struct tty_ctx.
2020-05-16 15:27:08 +00:00
nicm
78595457f9
Add 'e' key in buffer mode to open the buffer in an editor.
2020-05-16 15:24:28 +00:00
nicm
463864f5a2
Add -W and -T flags to command-prompt to only complete a window and a
...
target, also complete aliases.
2020-05-16 15:16:36 +00:00
nicm
2391fe23ab
Copy mode search improvements:
...
- Add styles for the search marking styles (copy-mode-match-style and
copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
2020-05-16 15:11:52 +00:00
nicm
80e52545a0
Improve command prompt completion:
...
- Show a menu with completions if there are multiple.
- Don't complete argument stuff (options, layouts) at start of text.
- For -t and -s, if there is no : then complete sessions but if there is
a :, show a menu of all windows in the session rather than trying to
complete the window name which is a bit useless if there are
duplicates.
2020-05-16 15:06:03 +00:00
nicm
f03b61131b
Drop having a separate type for style options and make them all strings,
...
which allows formats to be expanded. Any styles without a '#{' are still
validated when they are set but any with a '#{' are not. Formats are not
expanded usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the
fg and bg are stored in the pane struct and act as the defaults that
can be overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep
them in sync.
2020-05-16 15:01:30 +00:00
nicm
5bf96c2f2c
Use a grid cell not a style for the pane style.
2020-05-16 14:53:23 +00:00
nicm
a29196ca6a
Build list of paths and weed out duplicates before loading configs, and
...
add TMUX_SOCK like TMUX_PATH for the socket directory.
2020-05-16 14:26:33 +00:00
nicm
4e0a718666
Add extension terminfo(5) capabilities for margins.
2020-05-16 14:22:51 +00:00
nicm
9dd58470e4
Remove support for iTerm2's DSR 1337 extension and use the CSI > q
...
extension now supported by a few different terminals.
2020-05-16 14:16:25 +00:00
Nicholas Marriott
57fe03dc5a
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 14:57:36 +01:00
Nicholas Marriott
c364a7142c
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-15 17:40:24 +01:00
Nicholas Marriott
6d92b99dbc
Add a terminal feature for enable/disable extended keys (supported by xterm and
...
mintty) and add an option to make tmux send it.
2020-05-15 16:15:24 +01:00
Nicholas Marriott
340fd691cb
Separate key flags and modifiers, log key flags, make the "xterm" flag more
...
explicit and fix M- keys with a leading escape.
2020-05-15 12:16:41 +01:00
Nicholas Marriott
031d4864a9
Rename KEYC_ESCAPE to KEYC_META.
2020-05-15 11:24:30 +01:00
Nicholas Marriott
5ee4d991b6
xterm-keys has been on by default for 5 years and all other modern terminals
...
use these key sequences by default. Merge the code into the main tty and input
tree processing (convering the latter to use a tree rather than a table at the
same time) and make the option a no-op.
2020-05-15 10:31:54 +01:00
Nicholas Marriott
31621036ad
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-14 16:49:08 +01:00
Nicholas Marriott
09a66451ce
Add screen write flags instead of individual bits and fix line length
...
calculation with padding.
2020-05-14 13:18:05 +01:00
Nicholas Marriott
0bdbf47ef9
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-14 11:18:19 +01:00
Nicholas Marriott
12eceaf2b3
Expand target from client and use it to expand the prompt.
2020-05-14 10:35:26 +01:00
Nicholas Marriott
09a2246b00
Use safe loop for freeing client files.
2020-05-13 21:11:46 +01:00
Nicholas Marriott
4cb1d3d7a9
Move editor stuff to common code in popup.c.
2020-05-13 06:58:07 +01:00
Nicholas Marriott
8d238491d0
Show default key bindings in customize mode.
2020-05-12 10:22:38 +01:00
Nicholas Marriott
5a34f51d33
Include key bindings in customize mode.
2020-05-12 08:57:55 +01:00
Nicholas Marriott
c489bf0a1e
Support embedded styles in the display-message message, GitHub issue 2206.
2020-05-11 09:18:35 +01:00
Nicholas Marriott
d01e7aac89
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-10 16:52:46 +01:00
Nicholas Marriott
013d857ef8
Wrap all lines in customize mode, not just the description.
2020-05-09 15:29:14 +01:00
Nicholas Marriott
a61cbf1c33
Add a customize mode where options may be browsed and changed, includes adding
...
a brief description of each option. Bound to "C" by default.
2020-05-08 19:10:09 +01:00
Nicholas Marriott
7a95e9bf7e
Change message log to be per server rather than per client and include every
...
command that is run.
2020-05-06 13:43:22 +01:00
Nicholas Marriott
2f89d2e7d8
Change the existing client flags for control mode to apply for any client, use
...
the same mechanism for the read-only flag and add an ignore-size flag.
refresh-client -F has become -f (-F stays for backwards compatibility) and
attach-session and switch-client now have -f flags also. A new format
"client_flags" lists the flags and is shown by list-clients by default.
This separates the read-only flag from "ignore size" behaviour (new
ignore-size) flag - both behaviours are useful in different circumstances.
attach -r and switchc -r remain and set or toggle both flags together.
2020-05-05 15:42:20 +01:00
Nicholas Marriott
e810f15272
Store and restore cursor position when copy mode is resized, from Anindya
...
Mukherjee.
2020-05-05 10:20:57 +01:00
Nicholas Marriott
9991a14e81
Add formats for after hook command arguments.
2020-05-05 06:19:29 +01:00
Nicholas Marriott
af69289e0e
Clamping to area needs to use the offset without the status line, since that is
...
where the window offsets are based.
2020-05-02 16:17:44 +01:00
Nicholas Marriott
3f1fc9cde3
Get the whole overlay screen not just the mode so cursor changes are included.
2020-05-01 17:30:28 +01:00
Nicholas Marriott
8110c7a25f
Do not hoke into struct window_pane from the tty code and instead set
...
everything up in tty_ctx. Provide a way to initialize the tty_ctx from a
callback and use it to let popups draw directly through input_parse in the same
way as panes do, rather than forcing a full redraw on every change.
2020-05-01 17:01:36 +01:00
Nicholas Marriott
93dca5ab3f
Move size to tty_ctx.
2020-05-01 13:19:05 +01:00
Nicholas Marriott
5ce194f15d
Rename some tty_ctx members.
2020-05-01 13:01:55 +01:00
Nicholas Marriott
cc19203be2
Add 'e' key in buffer mode to open the buffer in an editor.
2020-05-01 09:02:44 +01:00
Nicholas Marriott
25487757bc
Add -W and -T flags to command-prompt to only complete a window and a target.
2020-04-30 12:02:21 +01:00
Nicholas Marriott
6f700904a9
Copy mode search improvements:
...
- Add styles for the search marking styles (copy-mode-match-style and
copy-mode-current-match-style).
- Show the current match (the one with the cursor on it) in a different style.
- Copying without a selection will copy the current match if there is one.
2020-04-29 18:08:21 +01:00
Nicholas Marriott
b06235c345
Improve command prompt completion:
...
- Show a menu with completions if there are multiple.
- Don't complete argument stuff (options, layouts) at start of text.
- For -t and -s, if there is no : then complete sessions but if there is a :,
show a menu of all windows in the session rather than trying to complete the
window name which is a bit useless if there are duplicates.
Lots of scope for being more sophisticated left here.
2020-04-29 13:56:10 +01:00
Nicholas Marriott
24316bed49
Apply a format when redrawing pane borders.
2020-04-29 08:21:29 +01:00
Nicholas Marriott
1f8256fc50
Drop having a separate type for style options and make them all strings, which
...
allows formats to be expanded. Any styles without a '#{' are still validated
when they are set but any with a '#{' are not. Formats are not expanded
usefully in many cases yet, that will be changed later.
To make this work, a few other changes:
- set-option -a with a style option automatically appends a ",".
- OSC 10 and 11 don't set the window-style option anymore, instead the fg and
bg are stored in the pane struct and act as the defaults that can be
overridden by window-style.
- status-fg and -bg now override status-style instead of trying to keep them in
sync.
2020-04-28 13:50:07 +01:00
Nicholas Marriott
79b4d83952
Use a grid cell not a style for the pane style.
2020-04-27 15:15:12 +01:00
Nicholas Marriott
c30e765c7b
Add some additional format helper functions.
2020-04-27 14:33:17 +01:00
Nicholas Marriott
9b571dacee
Instead of forbidding invalid session names, sanitize them.
2020-04-24 16:40:10 +01:00
Nicholas Marriott
527f66ed23
Instead of having a default set of terminals in terminal-overrides that get XT
...
added and using that as a marker for xterm(1)-like, assume that if the
terminfo(5) entry already has XT or the clear capability starts with CSI then
the terminal is VT100-like and it should be safe to send DA requests. The DA
responses trigger additional features being added.
This is all to detect extensions if terminfo(5) is wrong or inadequate. If it
fails, tmux will just fall back to using the capabilities in the terminfo(5)
entry alone.
2020-04-24 15:52:44 +01:00
Nicholas Marriott
61550ac2e0
Add feature and capabilities for focus reporting. Also document AX and XT even
...
though they aren't tmux's.
2020-04-24 07:37:11 +01:00
Nicholas Marriott
5d69b9c4a7
Add a feature for bracketed paste.
2020-04-24 07:13:02 +01:00
Nicholas Marriott
8650f44340
Move terminal features into a single file.
2020-04-24 06:40:51 +01:00
Nicholas Marriott
d53e1fedd5
Add TMUX_SOCK like TMUX_PATH for the socket directory.
2020-04-23 18:15:02 +01:00
Nicholas Marriott
0d3fdae7b6
Build list of paths and weed out duplicates before loading configs.
2020-04-23 17:56:45 +01:00
Nicholas Marriott
ac91635f82
Add extension terminfo(5) capabilities for margins.
2020-04-23 12:12:02 +01:00
Nicholas Marriott
c74572da92
Remove support for iTerm2's DSR 1337 extension and use the CSI > q extension
...
now supported by a few different terminals.
2020-04-23 10:29:03 +01:00
Thomas Adam
cf5f93b2b3
Merge branch 'obsd-master'
2020-04-23 02:01:33 +01:00
nicm
899b3d2436
Indicate the marked pane in choose mode in reverse and add key to set
...
and clear it (m and M) and a key to jump to the starting pane (H).
2020-04-22 21:01:28 +00:00
Thomas Adam
8ae3915cc2
Merge branch 'obsd-master'
2020-04-22 12:01:38 +01:00
nicm
de5163a634
Change so main-pane-width and height can be given as a percentage.
2020-04-22 06:57:13 +00:00
Thomas Adam
32c3fe40eb
Merge branch 'obsd-master'
2020-04-20 17:43:20 +01:00
Thomas Adam
c706aadf52
Merge branch 'obsd-master'
2020-04-20 17:42:29 +01:00
nicm
117ec1b2e6
Apply terminal-overrides after terminal detection, it always takes
...
precedence.
2020-04-20 15:37:32 +00:00
nicm
2083a6ea20
Change how sync works to always send the end sequence after all output
...
is done when we are returning to the event loop (since we always move
the cursor at that point). Also a man fix from jmc.
2020-04-20 14:59:31 +00:00
nicm
c91b4b2e14
Tidy up the terminal detection and feature code and add named sets of
...
terminal features, each of which are defined in one place and map to a
builtin set of terminfo(5) capabilities. Features can be specified based
on TERM with a new terminal-features option or with the -T flag when
running tmux. tmux will also detect a few common terminals from the DA
and DSR responses.
This is intended to make it easier to configure tmux's use of
terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5)
databases or for features which do not yet have a terminfo(5) entry.
Instead of having to grok terminfo(5) capability names and what they
should be set to in the terminal-overrides option, the user can
hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility
and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler
to configure.
2020-04-20 13:25:36 +00:00
Thomas Adam
8c9bbc3749
Merge branch 'obsd-master'
2020-04-19 00:01:31 +01:00
nicm
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
Thomas Adam
7da5418758
Merge branch 'obsd-master'
2020-04-18 20:01:29 +01:00
nicm
100db552d1
A resize can realloc so cannot cache the value of the list pointer.
2020-04-18 17:20:25 +00:00
Thomas Adam
2b83ee5557
Merge branch 'obsd-master'
2020-04-18 18:01:28 +01:00
nicm
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
Thomas Adam
2ccf15e5d8
Merge branch 'obsd-master'
2020-04-18 16:01:34 +01:00
nicm
4a93294152
Use size_t not u_int for the bytes counters and fix a const missing.
2020-04-18 14:21:39 +00:00
Thomas Adam
e1799ed7c8
Merge branch 'obsd-master'
2020-04-18 10:01:31 +01:00
nicm
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
nicm
e153b928ff
Add formats for pane written/skipped bytes for debugging.
2020-04-18 07:19:28 +00:00
Thomas Adam
349617a818
Merge branch 'obsd-master'
2020-04-18 08:01:37 +01:00
nicm
1d2bd864f2
Add a flag to protect against nested syncs and add some extra logging to
...
redrawing.
2020-04-18 06:20:50 +00:00
nicm
d94bdf7420
Revert previous, there is still a problem.
2020-04-18 06:15:07 +00:00
nicm
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
Thomas Adam
7a21e911e1
Merge branch 'obsd-master'
2020-04-17 16:01:33 +01:00
nicm
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
Thomas Adam
21eb2ba419
Merge branch 'obsd-master'
2020-04-16 18:01:32 +01:00
nicm
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
nicm
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
Thomas Adam
5e38d26257
Merge branch 'obsd-master'
2020-04-16 16:01:35 +01:00
nicm
5ec80bd249
Move the UTF-8 flag to terminal flags.
2020-04-16 14:25:35 +00:00
nicm
4744aa43af
Add a helper function to get the terminal flags.
2020-04-16 14:03:51 +00:00
nicm
b2443aa2f9
Add support for the iTerm2 sychronized updates escape sequence which
...
drastically reduces flickering.
2020-04-16 13:35:24 +00:00
Thomas Adam
dd66ede38b
Merge branch 'obsd-master'
2020-04-16 10:01:33 +01:00
nicm
a2e47b5279
Show signal name when process exits rather than number.
2020-04-16 07:28:36 +00:00
Thomas Adam
6d6309014e
Merge branch 'obsd-master'
2020-04-15 20:01:27 +01:00
nicm
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
Thomas Adam
ebeb457385
Merge branch 'obsd-master'
2020-04-15 18:01:27 +01:00
nicm
1e72f5ea43
Use mode-style for selected items, like choose modes. GitHub issue 2166.
2020-04-15 16:11:23 +00:00
Thomas Adam
fe1778e377
Merge branch 'obsd-master'
2020-04-15 16:01:27 +01:00
nicm
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
Thomas Adam
6d9b3704f5
Merge branch 'obsd-master'
2020-04-14 08:01:33 +01:00
nicm
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
Thomas Adam
653a159225
Merge branch 'obsd-master'
2020-04-14 00:01:41 +01:00
Thomas Adam
2159ff3256
Merge branch 'obsd-master'
2020-04-13 22:01:30 +01:00
nicm
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
nicm
187277eaad
Add helpers for the simple case of parse string and add to command queue.
2020-04-13 18:59:41 +00:00
Thomas Adam
acc00cd13a
Merge branch 'obsd-master'
2020-04-13 18:01:43 +01:00
nicm
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
nicm
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
Thomas Adam
0a11f1607b
Merge branch 'obsd-master'
2020-04-13 16:01:46 +01:00
nicm
adb76fd1ce
Move cmdq_state into cmd-queue.c.
2020-04-13 14:46:04 +00:00
nicm
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
nicm
77d5b0cc53
Store a key event not a mouse event in the shared data.
2020-04-13 13:42:35 +00:00
nicm
53d6b94e8a
Move the NOHOOKS flag into the shared flags.
2020-04-13 13:32:09 +00:00
Thomas Adam
8f2b5d714a
Merge branch 'obsd-master'
2020-04-13 14:01:45 +01:00
nicm
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
Thomas Adam
b117c3b812
Merge branch 'obsd-master'
2020-04-13 10:30:00 +01:00
nicm
c20eb0c0ae
Make struct cmd local to cmd.c and move it out of tmux.h.
2020-04-13 08:26:27 +00:00
nicm
1c433f1354
Remove unused define, also a man fix from jmc.
2020-04-10 20:53:54 +00:00
nicm
c0602f357d
Now that copy mode copies the pane content rather than keeping a
...
reference to it, it isn't necessary that the pane in copy mode is the
same as the one copying from. Add a -s flag to copy-mode to specify a
different pane for the source content. This means it is possible to view
two places in a pane's history at the same time in different panes, or
copy from a pane's history into an editor or shell in the same pane.
From Anindya Mukherjee.
2020-04-10 07:44:26 +00:00
Thomas Adam
52e3d960e7
Merge branch 'obsd-master'
2020-04-09 16:01:45 +01:00
nicm
e9e5facb0e
Some minor style nits.
2020-04-09 14:23:34 +00:00
Thomas Adam
916c3787d7
Merge branch 'obsd-master'
2020-04-09 14:01:32 +01:00
nicm
0e8710f507
Wait until the initial command sequence is done before sending a device
...
attributes request and other bits that prompt a reply from the terminal.
This means that stray relies are not left on the terminal if the command
has attached and then immediately detached and tmux will not be around
to receive them. Prompted by a problem report from espie@.
2020-04-09 12:16:16 +00:00
nicm
5d0eb619f1
Restore pane_current_path format from portable tmux, it is no longer
...
used by default and is very useful.
2020-04-08 11:26:07 +00:00
Thomas Adam
6a2f32b4fd
Merge branch 'obsd-master'
2020-04-07 16:01:29 +01:00
nicm
1c8f7c1f7a
Do not restore history flag if it was never set.
2020-04-07 13:55:24 +00:00
Thomas Adam
8fa0b0cd26
Merge branch 'obsd-master'
2020-04-06 20:01:33 +01:00
nicm
77b827f879
Change copy mode to make copy of the pane history so it does not need to
...
freeze updates (which does not play nicely with some applications, a
longstanding problem) and will allow some other changes later. From
Anindya Mukherjee.
2020-04-06 17:51:34 +00:00
Thomas Adam
66db12db31
Merge branch 'obsd-master'
2020-04-01 12:01:27 +01:00
nicm
dd2fdcda79
Support mouse in popups.
2020-04-01 09:05:27 +00:00
Thomas Adam
dfd29977e0
Merge branch 'obsd-master'
2020-03-31 20:01:34 +01:00
nicm
38f1546a66
Add a way to mark environment variables as "hidden" so they can be used
...
by tmux but are not passed into the environment of new panes.
2020-03-31 17:14:40 +00:00
nicm
cc8b41f294
Add a way to mark environment variables as "hidden" so they can be used
...
by tmux but are not passed into the environment of new panes.
2020-03-31 17:14:40 +00:00
nicm
e6d1b6770c
Add non-regex search variants to avoid the performance cost for people
...
with large histories or long lines.
2020-03-31 16:53:23 +00:00
nicm
2624edde46
Add non-regex search variants to avoid the performance cost for people
...
with large histories or long lines.
2020-03-31 16:53:23 +00:00
Thomas Adam
0bb1a50b88
Merge branch 'obsd-master'
2020-03-31 16:01:29 +01:00
nicm
01b3bb8e2c
Add a "second click" key type which is fired for the second click of a
...
double click, even if the timer hasn't expired to confirm it isn't
actually a triple click. Provides a way for people who don't care about
triple clicks or can make their commands have no side effects to avoid
the double click timer delay.
2020-03-31 11:38:35 +00:00
Thomas Adam
c9cd8f9b5d
Merge branch 'obsd-master'
2020-03-31 10:01:29 +01:00
nicm
3bbd66c013
Move alternate screen into the screen rather than the pane.
2020-03-31 07:00:34 +00:00
Thomas Adam
588865152a
Merge branch 'obsd-master'
2020-03-30 18:01:28 +01:00
nicm
1fb504d0d5
Tweak key numbers to avoid some special keys crossing over with modifier bits.
2020-03-30 16:16:48 +00:00
Thomas Adam
374f5ea60c
Merge branch 'obsd-master'
2020-03-28 14:01:28 +00:00
Thomas Adam
88ca500546
Merge branch 'obsd-master'
2020-03-28 10:01:27 +00:00
nicm
593fddf84b
Make two -E only close popup automatically if the command exited with 0.
2020-03-28 09:51:12 +00:00
nicm
4346098e97
Fix how popup height is calculated to take embedded newlines into account.
2020-03-28 09:39:44 +00:00
Thomas Adam
8a57d14f4b
Merge branch 'obsd-master'
2020-03-26 11:11:37 +00:00
nicm
8a838b0372
Add support for overlay popup boxes to show text or output temporarily
...
above the normal layout. These work similarly to menus and are created
with the display-popup command.
2020-03-24 08:09:43 +00:00
Thomas Adam
5123bb7db4
Merge branch 'obsd-master'
2020-03-21 14:01:27 +00:00
nicm
8828b958f0
Break code to convert an argument as a percentage into a common function.
2020-03-21 13:16:15 +00:00
Thomas Adam
e4efd59fe0
Merge branch 'obsd-master'
2020-03-20 20:01:34 +00:00
nicm
06c3079d66
Make the mouse_word and mouse_line formats work in copy mode and enable
...
the default pane menu in copy mode.
2020-03-20 17:59:39 +00:00
Thomas Adam
35c4897d8f
Merge branch 'obsd-master'
2020-03-19 16:01:29 +00:00
nicm
de34436d4c
Change input path so it doesn't require a pane.
2020-03-19 14:03:48 +00:00
Thomas Adam
17e4f2394a
Merge branch 'obsd-master'
2020-03-19 14:01:31 +00:00
nicm
e8273a993e
Add a flag to run a background process in a pty as well, not used for
...
anything yet.
2020-03-19 13:43:18 +00:00
Thomas Adam
0610f66fa9
Merge branch 'obsd-master'
2020-03-17 12:01:28 +00:00
nicm
115bb33257
Ignore default-shell (and use /bin/sh) if it invalid not just if it is
...
tmux itself, also refuse to set the option to something invalid in the
first place. GitHub issue 2120.
2020-03-17 11:10:12 +00:00
Thomas Adam
f584fe1b00
Merge branch 'obsd-master'
2020-03-16 08:01:27 +00:00
nicm
d162ff48f3
Send mouse down event immediately rather than waiting for double click
...
to finish which would now mean it was out of order. Reported by Mark
Kelly.
2020-03-16 06:12:42 +00:00
Thomas Adam
6385bd1e08
Merge branch 'obsd-master'
2020-03-12 14:01:29 +00:00
nicm
f7bc753442
Change how double and triple clicks works so that one or the other is
...
fired - a double click is no longer triggered on the way to a triple
click.
2020-03-12 13:16:16 +00:00
Thomas Adam
1a2e66f345
Merge branch 'obsd-master'
2020-03-12 10:01:25 +00:00
nicm
2a5702a936
When the server socket is given by the user with -S, create it with
...
umask 177 instead of 117 because it may not be in a safe directory like
the default directory in /tmp. The user can chmod it more open after it
is created if they want.
2020-03-12 09:26:34 +00:00
Thomas Adam
e512a3642a
Merge branch 'obsd-master'
...
Also add a check for -lm via AC_SEARCH_LIBS in configure.ac for
portablility fixes.
2020-03-11 17:23:38 +00:00
nicm
c820585dd0
Add some number operators for formats, from Tyler Culp.
2020-03-11 14:17:55 +00:00
Thomas Adam
19d5f4a0bd
Merge branch 'obsd-master'
2020-02-03 14:01:25 +00:00
nicm
265164d251
Instead of passing titles through vis() which doubles backslashes, just
...
ignore any containing control characters or invalid UTF-8. GitHub issue 2070.
2020-02-03 13:46:27 +00:00
Thomas Adam
7eada28f96
Merge branch 'obsd-master'
2020-01-28 14:01:25 +00:00
nicm
b905c5d455
If ALL clients are readonly, allow them to affect the size, suggested by Thomas Sattler.
2020-01-28 13:23:24 +00:00
Thomas Adam
60ab714451
Merge branch 'obsd-master'
2020-01-28 12:01:28 +00:00
nicm
a6129e9974
If we can identify the terminal as iTerm2 or as tmux, we can be sure
...
they support 256 and RGB colours, so set those flags too.
2020-01-28 11:39:51 +00:00
Thomas Adam
ee3d3db364
Merge branch 'obsd-master'
2020-01-28 11:17:08 +00:00
nicm
f165221dc4
Reduce a difference with portable tmux by adding the -V flag and
...
#{version} format; on OpenBSD these just report the OpenBSD version.
2020-01-28 10:44:30 +00:00
Thomas Adam
7cdf5ee9bc
Merge branch 'obsd-master'
2020-01-28 10:01:25 +00:00
nicm
24350879cd
Add a define for flags meaning a client is not attached, and fix
...
unattached counter, reported by Thomas Sattler.
2020-01-28 08:06:11 +00:00
Thomas Adam
f3ea318a04
Merge branch 'obsd-master'
2020-01-27 10:01:27 +00:00
nicm
d0b8d036be
Add support for adding a note to a key binding (with bind-key -N) and
...
use this to add descriptions to the default key bindings. A new -N flag
to list-keys shows key bindings with notes rather than the default
bind-key command used to create them. Change the default ? binding to
use this to show a readable summary of keys.
Also extend command-prompt to return the name of the key pressed and add
a default binding (/) to show the note for the next key pressed
Suggested by Alex Tremblay in GitHub issue 2000.
2020-01-27 08:53:13 +00:00
Thomas Adam
a01c9ffc6c
Merge branch 'obsd-master'
2020-01-13 14:01:25 +00:00
nicm
da515570dc
Stop handling DA and DSR after a second (they should be the first thing
...
sent) so this should be plenty.
2020-01-13 11:59:21 +00:00
Thomas Adam
8457f54edc
Merge branch 'obsd-master'
2020-01-13 10:01:27 +00:00
nicm
835a6c0cf0
Be more specific in the DSR we are looking for so it doesn't get
...
confused with mouse sequences. Also set a flag and don't bother checking
for it if we have already seen it (same for DA), and don't check if we
never asked for it.
2020-01-13 08:12:53 +00:00
nicm
04eee2410d
Treat plausible but invalid keys (like C-BSpace) as literal like any
...
other unrecognised string passed to send-keys. Reported by Anthony
Sottile in GitHub issue 2049.
2020-01-13 07:51:54 +00:00
Thomas Adam
e9b1294331
Merge branch 'obsd-master'
2020-01-12 22:01:26 +00:00
nicm
193e637de0
The terminal type was never as much use as I expected so remove it in
...
favour of a couple of flags for the features used (DECSLRM and DECFRA).
Also rename the flag for no xenl to be more obvious while here.
2020-01-12 21:07:07 +00:00
Thomas Adam
566ab9aa28
Merge branch 'obsd-master'
2019-12-30 22:01:25 +00:00
nicm
206d878127
Do not let readonly clients limit the size, suggested by Max Barraclough
...
in GitHub issue 2042.
2019-12-30 21:24:55 +00:00
Thomas Adam
b931bbb319
Merge branch 'obsd-master'
2019-12-26 12:01:26 +00:00
nicm
817d199cbb
Add a number of new formats to inspect what sessions and clients a
...
window is present or active in. From Tyler Culp in GitHub issue 2034.
2019-12-26 11:04:58 +00:00
Thomas Adam
745233d6a1
Merge branch 'obsd-master'
2019-12-19 10:01:26 +00:00
nicm
1764f66b7d
When adding a list with multiple commands to the queue, the next item to
...
insert after needs to be the last one added, not the first. Reported by
Jason Kim in GitHub issue 2023.
2019-12-19 09:22:33 +00:00
Thomas Adam
52b6ca5706
Merge branch 'obsd-master'
2019-12-16 18:01:31 +00:00
nicm
1bdd4828bd
If /dev/fd/X is a symlink and realpath() expands symlinks, /dev/fd/X
...
ends up pointing to the wrong place before it is passed to the client.
The path is only used internally so there is no real need for
realpath(), remove it and move the get_path function to file.c where all
the callers are.
2019-12-16 16:39:03 +00:00
nicm
eaa58d28dc
Instead of using large buffers in imsgs, add the data or path onto the end.
2019-12-16 15:48:50 +00:00
Thomas Adam
7922f4ee7b
Merge branch 'obsd-master'
2019-12-12 14:33:47 +00:00
nicm
5134666702
Change source-file to use new file code which allows it to read from
...
stdin.
2019-12-12 12:49:36 +00:00
nicm
c284ebe0ad
Rewrite the code for reading and writing files. Now, if the client is
...
not attached, the server process asks it to open the file, similar to
how works for stdin, stdout, stderr. This makes special files like
/dev/fd/X work (used by some shells). stdin, stdout and stderr and
control mode are now just special cases of the same mechanism. This will
also make it easier to use for other commands that read files such as
source-file.
2019-12-12 11:39:56 +00:00
Thomas Adam
5b2048fbb9
Merge branch 'obsd-master'
2019-12-10 16:01:25 +00:00
nicm
55eb3e4773
Make TMUX_CONF a list of files and expand leading $FOO or ~.
2019-12-10 14:22:15 +00:00
Thomas Adam
5f5f029e3b
Merge branch 'obsd-master'
2019-11-28 12:18:41 +00:00
nicm
bc5881c4d2
Long lines and spacing fixes.
2019-11-28 09:56:25 +00:00
nicm
2349b1dbef
Make a best effort to set xpixel and ypixel for each pane and add
...
formats for them.
2019-11-28 09:45:15 +00:00
nicm
067604bf8c
Store xpixel/ypixel from TIOCGWINSZ and add formats.
2019-11-28 09:05:34 +00:00
Thomas Adam
daa93b3fdc
Merge branch 'obsd-master'
2019-11-25 16:01:27 +00:00
nicm
1ebd8c1234
Add p format modifier for padding to width.
2019-11-25 15:04:15 +00:00
Thomas Adam
dbdff241b2
Merge branch 'obsd-master'
2019-11-15 12:01:27 +00:00
nicm
f3dc38dcae
Handle OSC 7 (a VTE extension) and put the result in a new format (pane_path).
2019-11-15 11:16:53 +00:00
Thomas Adam
b67fd8f472
Merge branch 'obsd-master'
2019-11-14 16:01:25 +00:00
nicm
16b7719418
Fix parsing of DA with only one argument in the response and add 65 for VT520.
2019-11-14 15:37:19 +00:00
Thomas Adam
b5de0a20d8
Merge branch 'obsd-master'
2019-10-23 10:01:27 +01:00
nicm
f7fb5df543
Use the existing code in format.c to add foramts for word and line at
...
cursor position in copy mode, from Anindya Mukherjee.
2019-10-23 07:42:05 +00:00
Thomas Adam
dd254b90d7
Merge branch 'obsd-master'
2019-09-23 18:01:24 +01:00
nicm
77deef733b
Use the correct size for new windows when window-size is latest,
...
reported by Vamsi Krishna Avula in GitHub issue 1917.
2019-09-23 15:41:11 +00:00
Thomas Adam
24ab1bc714
Merge branch 'obsd-master'
2019-09-19 12:01:30 +01:00
nicm
647887b794
Add a "latest" window-size option which tries to size windows based on
...
the most recently used client. From Tommie Gannert in GitHub issue 1869
based on earlier changes from me.
2019-09-19 09:02:30 +00:00
Thomas Adam
d346d692eb
Merge branch 'obsd-master'
2019-09-16 00:01:25 +01:00
nicm
63e07b245f
Add push-default and pop-default in styles to change the default colours
...
and attributes and use them to restore the previous behaviour of
window-status-style being the default for window-status-format in the
status line. From John Drouhard in GitHub issue 1912.
2019-09-15 21:42:57 +00:00
Thomas Adam
4fa1f961f3
Merge branch 'obsd-master'
2019-08-28 20:02:24 +01:00
nicm
df0334d3b3
The resize event was never deciding to actually resize the pane if there
...
was output in the pane faster than the timer would fire, so change how
it works to only defer the timer again if the pane was actually resized
within the last timer period. Reported by James Tai in GitHub issue
1880.
2019-08-28 07:34:32 +00:00
Thomas Adam
2db9a18362
Merge branch 'obsd-master'
2019-08-16 17:02:29 +01:00
nicm
37583f0a69
Add a flag to reverse sort in the various choose modes, from Benjamin
...
Poirier in GitHub issue 1875.
2019-08-16 11:49:12 +00:00
Thomas Adam
ed0f2831b4
Merge branch 'obsd-master'
2019-08-15 11:02:48 +01:00
nicm
0f243f0388
Add -Z flag to rotate-window, select-pane, swap-pane, switch-client to
...
preserve zoomed state. GitHub issue 1839.
2019-08-14 09:58:31 +00:00
Thomas Adam
9b3fefc435
Merge branch 'obsd-master'
2019-08-06 07:02:33 +01:00
nicm
45f4ff5485
Add support for the SD (scroll down) escape sequence, GitHub issue 1861.
2019-08-05 06:42:02 +00:00
Thomas Adam
a786a59176
Merge branch 'obsd-master'
2019-07-15 21:02:26 +01:00
nicm
6ceeceab7a
Make layout_fix_offsets take a window like layout_fix_panes.
2019-07-15 18:25:07 +00:00
Thomas Adam
9cbbdb90bf
Merge branch 'obsd-master'
2019-07-10 13:02:26 +01:00
nicm
f4d858e7a0
Add -F to refresh-client to specify flags for control clients - one flag
...
at the moment, no-output which turns off forwarding pane output. From
Thomas Adam. GitHub issue 1834.
2019-07-10 11:20:10 +00:00
Thomas Adam
98ef369b27
Merge branch 'obsd-master'
2019-07-09 17:02:26 +01:00
nicm
fc2016dbb6
Add a -H flag to send-keys to send literal keys given as hex numbers
...
(needed for control clients to send mouse sequences). Also add some
format flags for UTF-8 and SGR mouse mode. Requested by Bradley Smith in
GitHub issues 1832 and 1833.
2019-07-09 14:03:12 +00:00
Thomas Adam
3a4cf62aa9
Merge branch 'obsd-master'
2019-07-06 23:02:26 +01:00
nicm
3635b3cd6c
Correctly clear underscore colour in grid_get_cell1, also fix struct
...
grid_cell to avoid padding. Fixes increased memory use reported by Suraj
N Kurapati.
2019-07-06 20:37:29 +00:00
Thomas Adam
b9fbf02ad5
Merge branch 'obsd-master'
2019-07-01 09:02:25 +01:00
nicm
2da050413c
Add a "fill" style attribute to clear the entire format drawing area in
...
a colour, GitHub issue 1815.
2019-07-01 06:56:00 +00:00
Thomas Adam
abcd4bd246
Merge branch 'obsd-master'
2019-06-30 21:02:26 +01:00
nicm
cf30e0f935
Do not double free window if pane fails to start.
2019-06-30 19:21:53 +00:00
Thomas Adam
e483ce138f
Merge branch 'obsd-master'
2019-06-27 17:02:26 +01:00
nicm
dae2868d12
Add support for underscore colours with Setulc capability, mostly from
...
Kai Moschcau.
2019-06-27 15:17:41 +00:00
Thomas Adam
f797ac9ff6
Merge branch 'obsd-master'
2019-06-26 15:02:26 +01:00
nicm
d83f356218
Add #define for the pane status line option position numbers.
2019-06-26 13:03:47 +00:00
Thomas Adam
f8ad72b2ee
Merge branch 'obsd-master'
2019-06-20 15:02:26 +01:00
nicm
5f92f92908
Add a per-pane option set. Pane options inherit from window options (so
...
there should be no change to existing behaviour) and are set and shown
with set-option -p and show-options -p.
Change remain-on-exit and window-style/window-active-style to be pane
options (some others will be changed later).
This makes select-pane -P and -g unnecessary so no longer document them
(they still work) and no longer document set-window-option and
show-window-options in favour of set-option -w and show-options -w.
2019-06-20 11:59:59 +00:00
Thomas Adam
adca856806
Merge branch 'obsd-master'
2019-06-20 11:02:28 +01:00
nicm
c1ede507d9
Add a helper function to work out option table from name.
2019-06-20 07:41:29 +00:00
Thomas Adam
ee9bc355f5
Merge branch 'obsd-master'
2019-06-18 13:02:28 +01:00
nicm
9272fe36e2
Add a cmdq_continue function rather than twiddling the flag directly.
2019-06-18 11:08:42 +00:00
Thomas Adam
5e9757b30b
Merge branch 'obsd-master'
2019-06-14 15:51:09 +01:00
nicm
3e72e98e3b
Add regular expression support for the format search, match and
...
substitute modifiers.
2019-06-13 19:46:00 +00:00
Thomas Adam
e13c1e5320
Merge branch 'obsd-master'
2019-06-07 23:02:26 +01:00
nicm
e37f34facc
Do not load the config file if the server is exiting because it failed
...
to start, otherwise commands like lsk which start the server again can
end up looping infinitely. Also make the first client exit
correctly. Problem reported by Wael M Nasreddine.
2019-06-07 20:09:17 +00:00
Thomas Adam
c91680822d
Merge branch 'obsd-master'
2019-06-05 23:02:26 +01:00
nicm
8f40796f05
Add a -v flag to source-file to show the commands and line numbers.
2019-06-05 20:00:53 +00:00
Thomas Adam
d3f0c72e20
Merge branch 'obsd-master'
2019-06-03 21:02:26 +01:00
nicm
4ca1de1b8b
Add new-session -X and attach-session -x to send SIGHUP to parent when
...
detaching (like detach-client -P). From Colin Watson in GitHub issue
1773.
2019-06-03 18:28:37 +00:00
Thomas Adam
c0116b2c5b
Merge branch 'obsd-master'
2019-05-28 09:02:26 +01:00
nicm
799a154b91
Change display-menu from taking a single string to a set of arguments,
...
which is much easier to work with. Based on a diff from Avi Halachmi.
2019-05-28 07:18:42 +00:00
Thomas Adam
103e44d936
Merge branch 'obsd-master'
2019-05-26 21:02:26 +01:00
nicm
e90d4a6021
Add formats for word and line under the mouse and use them to add some
...
items to the pane menu.
2019-05-26 17:34:45 +00:00
Thomas Adam
463bd8abb9
Merge branch 'obsd-master'
2019-05-25 18:41:51 +01:00
nicm
f8d3d247d8
Merge cmd_list_parse into cmd-parse.y so it can use the new alias
...
processing code.
2019-05-25 07:18:20 +00:00