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
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
18aab90959
Give control code its own state struct.
2020-05-24 09:40:17 +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