Nicholas Marriott
c6f62289b0
Merge branch 'master' into command_parser
2026-08-07 16:08:26 +01:00
nicm
5cd1976a4a
Do not attempt to drain write buffer on stuck clients, since it requires
...
a weird dance to make libevent do it. Instead, just ignore the client
and destroy the buffer normally if not drained in 10 seconds.
2026-08-04 15:37:14 +00:00
nicm
114aa68082
Do not let a stuck client prevent the server from exiting - give up
...
after 10 seconds. GitHub issue 5444 from Ben Maurer.
2026-08-03 21:33:21 +00:00
nicm
6db5175e4e
Queue control mode notifications rather than emitting them inside
...
%begin/%end, GitHub issue 5458 from George Nachman.
2026-08-03 16:29:09 +00:00
Nicholas Marriott
16064a410e
Merge branch 'master' into command_parser
2026-07-21 08:34:58 +01:00
nicm
2711780dff
Move per-client window sizes into control.c since the only user is for
...
control mode.
2026-07-17 12:15:52 +00:00
Nicholas Marriott
baf71480d0
Merge remote-tracking branch 'origin/master' into command_parser
...
# Conflicts:
# cmd-queue.c
# notify.c
# options.c
2026-07-13 11:12:46 +01:00
nicm
7f2b0ae16e
Do not make pty fds blocking again until all the data has been consumed
...
or control mode clients can get stuck, GitHub issue 5356 from Ben Maurer.
2026-07-10 15:45:11 +00:00
nicm
d29aa12117
Replace the notification system with events. Events can carry a payload of
...
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.
2026-07-10 13:38:45 +00:00
nicm
1508bec957
Don't bother to send notifications to clients with CLIENT_EXIT, GitHub
...
issue 5357 from Ben Maurer.
2026-07-10 07:25:05 +00:00
nicm
de024e04d7
Add set-hook -B install a subscription like in control mode.
...
Subscriptions are formats which are checked once a second and if changed
invoke a hook. show-hooks -B lists.
2026-07-05 08:24:00 +00:00
nicm
8e03310afe
Move monitor stuff out of control.c into its own file for reuse.
2026-07-03 22:58:23 +00:00
Nicholas Marriott
54f5c82500
Convert most of remaining bits.
2026-06-30 18:19:26 +01:00
Your Name
9e8cf6f0e2
Stub out all users of old API.
2026-06-30 09:39:45 +01:00
Thomas Adam
f1f0158741
Merge branch 'obsd-master'
2026-05-12 12:01:11 +01:00
nicm
800837ff3f
Fix control mode teardown ordering for queued pane output, GitHub issue
...
5064 from Aaron Campbell.
2026-05-12 09:27:28 +00:00
Thomas Adam
ad94405dac
Merge branch 'obsd-master'
2026-05-05 16:01:08 +01:00
nicm
cae229cadc
Discard queued data and clear offsets when turning pane off to prevent
...
later read of data that has been removed. From Aaron Campbell in GitHub
issue 5054.
2026-05-05 12:02:12 +00:00
Thomas Adam
9d3dcdbc38
Merge branch 'obsd-master'
2026-05-03 20:01:09 +01:00
nicm
637d4c3083
Fix control client hang on exit after toggling no-output, GitHub issue
...
5049 from Aaron Campbell.
2026-05-03 15:01:21 +00:00
Thomas Adam
9a94f48663
Merge branch 'obsd-master'
2026-05-01 16:01:09 +01:00
nicm
56200ca044
Do not leak cached last result from control subs, from Aaron Campbell in
...
GitHub issue 5047.
2026-05-01 09:59:42 +00:00
Thomas Adam
9de3c0495f
Merge branch 'obsd-master'
2026-04-14 12:01:08 +01:00
nicm
31c93c483a
Another check for partially initialized control client, from Matt
...
Koscica in GitHub issue 5004.
2026-04-14 08:32:30 +00:00
Thomas Adam
0d77555c97
Merge branch 'obsd-master'
2026-03-09 16:01:09 +00:00
nicm
881bec958e
Fix server crash when control client session is destroyed, from Renaud
...
Allard in GitHub issue 4916.
2026-03-09 14:33:55 +00:00
Thomas Adam
4cc3de4f84
Merge branch 'obsd-master'
2026-02-17 08:51:05 +00:00
nicm
c9162837a0
Pull format allocation outside of loop for control subs, from Conor
...
Taylor in GitHub issue 4848.
2026-02-16 08:42:57 +00:00
Thomas Adam
d3522c328c
Merge branch 'obsd-master'
2026-02-12 11:10:01 +00:00
nicm
1cf17b06ae
Batch printable output in control mode, from Conor Taylor in GitHub issue 4848.
2026-02-10 08:40:03 +00:00
Thomas Adam
f7b30ed3d4
Merge branch 'obsd-master'
2022-08-24 10:01:13 +01:00
nicm
e867528209
Check for NULL returns from bufferevent_new.
2022-08-24 07:22:30 +00:00
Thomas Adam
dc6bc0e95a
Merge branch 'obsd-master'
2022-07-06 12:01:09 +01:00
nicm
9e03df5500
Defer reading from control client until the command line command has
...
completed.
2022-07-06 08:31:59 +00:00
Thomas Adam
c7266ca78d
Merge branch 'obsd-master' into master
2021-08-25 10:01:10 +01:00
nicm
a252fadf8a
Fix up some printflike attributes.
2021-08-25 07:09:30 +00:00
Thomas Adam
a8be47f0f4
Merge branch 'obsd-master' into master
2021-08-17 22:01:18 +01:00
nicm
5fdea440ce
Treat a pane that has died the same as no pane when sending data to
...
control mode clients, GitHub issue 2828.
2021-08-17 20:17: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
ed946dccc7
Some other warnings, GitHub issue 2382.
2020-09-18 11:20:59 +00: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
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
nicm
d8d7769104
Check if a pane needs to be paused when output is written rather than
...
just when it is queued.
2020-06-12 08:35:01 +00:00
nicm
50ee41423f
Add a -A option to pause a pane manually.
2020-06-11 09:55:47 +00: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
nicm
fddcad6957
When the pause-after flag is set, send an alternative %extended-output
...
form instead of %output with the age of the output.
2020-06-10 06:23:43 +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
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
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