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
nicm
187277eaad
Add helpers for the simple case of parse string and add to command queue.
2020-04-13 18:59:41 +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
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
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
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
nicm
ad11d49d64
Do not leak empty lines, GitHub issue 1824.
2019-07-09 13:19:36 +00:00
nicm
82e47403c6
Allow % strings that are all numbers or %s, and fix a double free. Both
...
reported by George Nachman, GitHub issues 1765 and 1766.
2019-05-31 11:34:09 +00:00