Thomas Adam
722f395e61
Merge branch 'obsd-master' into master
2022-02-16 22:01:11 +00:00
nicm
0027ee13a0
Support more mouse buttons when the terminal sends them, GitHub issue
...
3055.
2022-02-16 18:55:05 +00:00
Thomas Adam
138ffc7cb6
Merge branch 'obsd-master' into master
2021-12-07 09:52:59 +00:00
nicm
b55f0ac6b9
Leave the hardware cursor at the position of the selected line in choose
...
modes and current editing position and at the command prompt. It is
invisible but this is helpful for people using screen readers. GitHub
issue 2970.
2021-11-15 10:58:13 +00:00
Thomas Adam
60cacdffea
Merge branch 'obsd-master' into master
2021-10-28 22:01:13 +01:00
nicm
49d33a4282
Allow detach even if suspend flag set, GitHub issue 2932.
2021-10-28 18:54:33 +00:00
Thomas Adam
aff2a473ec
Merge branch 'obsd-master' into master
2021-10-11 16:01:13 +01:00
nicm
b8581ec80e
Make positions hidden by overlays range-based rather than character-based,
...
from Anindya Mukherjee.
2021-10-11 13:27:50 +00:00
Thomas Adam
bf595a0cb0
Merge branch 'obsd-master' into master
2021-09-27 22:01:10 +01:00
nicm
68c8905859
Do not call recalculate_sizes while clearing a client session because it
...
needs to loop over the clients, instead do it after all clients are
cleared. Fixes a crash reported by martijn@ when a session with multiple
clients attached is destroyed, but there are other sessions so tmux does
not entirely exit. ok deraadt
2021-09-27 19:12:00 +00:00
Thomas Adam
609baea95e
Merge branch 'obsd-master' into master
2021-08-27 20:01:11 +01:00
nicm
daec63e5e6
Replace %% in command lists (by copying them) for template arguments ,
...
this means they can be used with {} as well. Also make argument
processing from an existing vector preserve commands. GitHub issue 2858.
2021-08-27 17:25:55 +00:00
nicm
fd756a150b
Allow control mode clients to set a hard limit on the window width and
...
height, GitHub issue 2594.
2021-08-27 17:15:57 +00:00
Thomas Adam
03054598df
Merge branch 'obsd-master' into master
2021-08-22 16:01:19 +01:00
nicm
72d905f32c
Do not double free expanded path in source-file, also remove some
...
unnecessary assignments.
2021-08-22 13:48:29 +00:00
Thomas Adam
921991c98d
Merge branch 'obsd-master' into master
2021-08-21 20:01:22 +01:00
nicm
5241dae87d
Stop caring about empty commands, just treat as a null command.
2021-08-21 17:25:32 +00:00
Thomas Adam
b0da0cee4d
Merge branch 'obsd-master' into master
2021-08-20 22:01:46 +01:00
nicm
c76b28de24
Remove some unnecessary blank lines.
2021-08-20 19:08:36 +00:00
Thomas Adam
944fde7c57
Merge branch 'obsd-master' into master
2021-08-20 20:01:27 +01:00
nicm
e463e8622d
Remove stray spaces after function names.
2021-08-20 17:50:42 +00:00
Thomas Adam
54773d23b5
Merge branch 'obsd-master' into master
2021-08-14 01:34:54 +01:00
nicm
7789639b5d
Add a menu when a popup is present (mouse only for now).
2021-08-13 18:54:54 +00:00
nicm
2bb0b9d6c5
Change focus to be driven by events rather than walking all panes at end
...
of event loop, this way the ordering of in and out can be enforced.
GitHub issue 2808.
2021-08-13 06:52:51 +00:00
Thomas Adam
e3fa6cd96c
Merge branch 'obsd-master' into master
2021-08-05 12:01:19 +01:00
nicm
93cc8df692
Do not freeze output in panes when a popup is open, let them continue to
...
redraw. From Anindya Mukherjee .
2021-08-05 09:43:51 +00:00
Thomas Adam
4b88872c85
Merge branch 'obsd-master' into master
2021-08-04 10:01:25 +01:00
nicm
42490f4750
Add a client-active hook, from ncfavier in GitHub issue 2803.
2021-08-04 08:07:19 +00:00
Thomas Adam
7cbf4c9027
Merge branch 'obsd-master' into master
2021-07-21 10:01:24 +01:00
nicm
f0e02387b2
Do not close popups on resize, instead adjust them to fit, from Anindya
...
Mukherjee.
2021-07-21 08:06:36 +00:00
nicm
02a6b39db7
Improve logging of screen mode changes.
2021-06-10 07:43:44 +00:00
nicm
84e22168a5
Change resize timers and flags into one timer and a queue which is
...
simpler and fixes problems with vim when resized multiple times. GitHub
issue 2677.
2021-06-10 07:33:41 +00:00
nicm
c46a607dc1
Adjust latest client when a client detaches, GitHub issue 2657.
2021-06-10 07:21:46 +00:00
Nicholas Marriott
2e7ec8c0b9
Improve logging of screen mode changes.
2021-04-30 20:14:10 +01:00
Nicholas Marriott
cf6034da92
Change resize timers and flags into one timer and a queue to fix problems with
...
vim when resized multiple times. GitHub issue 2677.
2021-04-28 09:16:30 +01:00
Nicholas Marriott
9af78c8e69
Adjust latest client when a client detaches, GitHub issue 2657.
2021-04-16 11:59:08 +01:00
Thomas Adam
bedf2bd437
Merge branch 'obsd-master' into master
2021-04-12 12:01:32 +01:00
nicm
e6abe55134
Add a flag to disable keys to close a message, GitHub issue 2625.
2021-04-12 09:36:12 +00:00
Thomas Adam
db97bef60b
Merge branch 'obsd-master' into master
2021-04-05 16:01:23 +01:00
nicm
10470cea67
Move client-detached into server_client_lost so it is fired even if a
...
client is closed unexpectedly.
2021-04-05 14:11:05 +00:00
Thomas Adam
3a76a56824
Merge branch 'obsd-master' into master
2021-02-17 09:58:51 +00:00
Thomas Adam
ce5de76592
Merge branch 'obsd-master' into master
2021-02-17 09:58:12 +00:00
nicm
af3ffa9c41
Move the call to setupterm() into the client and have it pass the
...
results to the server over imsg, means the server does not need to enter
ncurses or read terminfo db. Old clients will not work with a new
server.
2021-02-17 07:18:36 +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
fe3ab51b78
Merge branch 'obsd-master' into master
2021-02-08 10:01:20 +00:00
nicm
c579be1f2a
Include "focused" in client flags, from Dan Aloni in GitHub issue 2558.
2021-02-08 08:33:54 +00:00
Thomas Adam
82423975df
Merge branch 'obsd-master' into master
2021-01-18 14:01:21 +00:00
nicm
0730dce5ab
Hide some warnings on newer GCC versions, GitHUb issue 2525.
2021-01-18 11:14:23 +00:00
Nicholas Marriott
a3011be0d2
Look for libevent2 differently from libevent for platforms with both.
2021-01-17 17:21:51 +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
ffe39edf2f
Merge branch 'obsd-master'
2020-10-30 20:01:20 +00:00
nicm
95841ba16a
With csh, a tmux client gets SIGTERM before SIGCONT when killed with
...
"kill %%", so when the client tells the server it got SIGCONT, don't use
bits that may already have been freed when it got SIGTERM. Also don't
print anything on exit if we get SIGTERM while suspended. Reported by
Theo.
2020-10-30 18:54:23 +00:00
Thomas Adam
970e8f734c
Merge branch 'obsd-master'
2020-10-30 10:01:22 +00:00
nicm
910457f68d
There is no reason not to fire focus events when a pane is in a mode,
...
GitHub issue 2372.
2020-10-30 09:00:07 +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
d5fac75667
Merge branch 'obsd-master'
2020-10-29 14:05:21 +00:00
nicm
b33a302235
Do not require that there be no other clients before loading the config,
...
being the first client is enough. GitHub issue 2438.
2020-10-28 10:09:10 +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
9f0973b711
Merge branch 'obsd-master'
2020-08-05 12:01:21 +01:00
nicm
df7fbcd7a5
Change searching to behave more like emacs and so that regex searching
...
doesn't overlap when searching forwards.
2020-08-05 09:11:09 +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
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
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
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
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
8339702d47
Check the right thing for maximum client buffer size.
2020-06-01 20:58:42 +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
e16191dbfc
Merge branch 'obsd-master'
2020-05-24 16:01:20 +01: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
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
e71c5efd58
Merge branch 'obsd-master'
2020-05-22 18:01:20 +01:00
nicm
033d6472cb
FocusIn keys can also update the latest client, like normal keys.
2020-05-22 15:43:38 +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
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
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
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
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
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
21a39c997b
Do not redraw or update mode if nothing has changed.
2020-05-16 14:42:06 +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