History log of /openbsd-current/usr.bin/tmux/control-notify.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.31 28-Oct-2022 nicm

Add paste-buffer-deleted notification and fix name of paste-buffer-changed.


Revision tags: OPENBSD_7_2_BASE
# 1.30 15-Aug-2022 nicm

Notify when a paste buffer is deleted, GitHub issue 3302 from George
Nachman.


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE
# 1.29 16-Mar-2021 nicm

Add client-detached notification in control mode, from Mohsin Kaleem.


# 1.28 20-Jan-2021 nicm

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.


Revision tags: OPENBSD_6_8_BASE
# 1.27 21-May-2020 nicm

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.


Revision tags: OPENBSD_6_7_BASE
# 1.26 16-Mar-2020 nicm

Terminate the output buffer for control mode output - it is now used as
a string. GitHub issue 2114.


# 1.25 12-Dec-2019 nicm

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.


Revision tags: OPENBSD_6_6_BASE
# 1.24 10-Jul-2019 nicm

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.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.30 15-Aug-2022 nicm

Notify when a paste buffer is deleted, GitHub issue 3302 from George
Nachman.


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE
# 1.29 16-Mar-2021 nicm

Add client-detached notification in control mode, from Mohsin Kaleem.


# 1.28 20-Jan-2021 nicm

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.


Revision tags: OPENBSD_6_8_BASE
# 1.27 21-May-2020 nicm

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.


Revision tags: OPENBSD_6_7_BASE
# 1.26 16-Mar-2020 nicm

Terminate the output buffer for control mode output - it is now used as
a string. GitHub issue 2114.


# 1.25 12-Dec-2019 nicm

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.


Revision tags: OPENBSD_6_6_BASE
# 1.24 10-Jul-2019 nicm

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.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.29 16-Mar-2021 nicm

Add client-detached notification in control mode, from Mohsin Kaleem.


# 1.28 20-Jan-2021 nicm

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.


Revision tags: OPENBSD_6_8_BASE
# 1.27 21-May-2020 nicm

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.


Revision tags: OPENBSD_6_7_BASE
# 1.26 16-Mar-2020 nicm

Terminate the output buffer for control mode output - it is now used as
a string. GitHub issue 2114.


# 1.25 12-Dec-2019 nicm

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.


Revision tags: OPENBSD_6_6_BASE
# 1.24 10-Jul-2019 nicm

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.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.28 20-Jan-2021 nicm

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.


Revision tags: OPENBSD_6_8_BASE
# 1.27 21-May-2020 nicm

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.


Revision tags: OPENBSD_6_7_BASE
# 1.26 16-Mar-2020 nicm

Terminate the output buffer for control mode output - it is now used as
a string. GitHub issue 2114.


# 1.25 12-Dec-2019 nicm

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.


Revision tags: OPENBSD_6_6_BASE
# 1.24 10-Jul-2019 nicm

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.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.27 21-May-2020 nicm

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.


Revision tags: OPENBSD_6_7_BASE
# 1.26 16-Mar-2020 nicm

Terminate the output buffer for control mode output - it is now used as
a string. GitHub issue 2114.


# 1.25 12-Dec-2019 nicm

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.


Revision tags: OPENBSD_6_6_BASE
# 1.24 10-Jul-2019 nicm

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.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.26 16-Mar-2020 nicm

Terminate the output buffer for control mode output - it is now used as
a string. GitHub issue 2114.


# 1.25 12-Dec-2019 nicm

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.


Revision tags: OPENBSD_6_6_BASE
# 1.24 10-Jul-2019 nicm

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.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.25 12-Dec-2019 nicm

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.


Revision tags: OPENBSD_6_6_BASE
# 1.24 10-Jul-2019 nicm

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.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.24 10-Jul-2019 nicm

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.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.23 07-May-2019 nicm

Do not use evbuffer_add_buffer because it is destructive and doesn't
work in newer libevent.


Revision tags: OPENBSD_6_5_BASE
# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


# 1.22 19-Nov-2018 nicm

evbuffer_new and bufferevent_new can both fail (when malloc fails) and
return NULL. GitHub issue 1547.


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.


Revision tags: OPENBSD_6_2_BASE
# 1.21 04-May-2017 nicm

Some new notifications, mainly for active pane and current window and
session:

pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed

From Joshua Brot.


Revision tags: OPENBSD_6_1_BASE
# 1.20 08-Mar-2017 nicm

Add a helper function for the most common format_create/defaults/expand
pattern.


# 1.19 03-Feb-2017 nicm

Add a window or pane id "tag" to each format tree and use it to separate
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.


# 1.18 16-Oct-2016 nicm

Use the notify name string instead of going via an enum and change
existing hooks to use notifys instead.


# 1.17 15-Oct-2016 nicm

Rename a function for consistency and some spacing nits.


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.16 19-Jan-2016 nicm

I no longer use my SourceForge address so replace it.


# 1.15 11-Dec-2015 nicm

Add cmdq as an argument to format_create and add a format for the
command name (will also be used for more later).


# 1.14 08-Dec-2015 nicm

Remove format_create_flags and just pass flags to format_create.


# 1.13 18-Nov-2015 nicm

Use __unused rather than rolling our own.


# 1.12 13-Nov-2015 nicm

Add window_visible_layout which ignores zoomed panes and use it for
control mode (which needs to know all panes), from George Nachman.


Revision tags: OPENBSD_5_8_BASE
# 1.11 24-Apr-2015 nicm

Convert clients list into a TAILQ.


Revision tags: OPENBSD_5_7_BASE
# 1.10 05-Feb-2015 nicm

Wrap all the individual format_* calls in a single format_defaults
functions.


Revision tags: OPENBSD_5_6_BASE
# 1.9 23-Apr-2014 nicm

Differentiate between linked and unlinked window closes and renames,
like we already do for adds. From Andre Masella.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 26-Mar-2013 nicm

Fix compiler warnings, missing #include. From Thomas Adam.


# 1.7 25-Mar-2013 nicm

Include prefix on ids, from George Nachman.


# 1.6 25-Mar-2013 nicm

Write escaped output in control mode rather than hex, from George
Nachman.


# 1.5 25-Mar-2013 nicm

Don't add prefix to %output pane id.


# 1.4 25-Mar-2013 nicm

Rename session idx to session id throughout and add $ prefix to targets
to use it, extended from a diff from George Nachman.


# 1.3 25-Mar-2013 nicm

Remove some unused/unnecessary control notifications, from George Nachman.


Revision tags: OPENBSD_5_3_BASE
# 1.2 25-Sep-2012 nicm

Add notification for input from a pane, from George Nachman.


# 1.1 03-Sep-2012 nicm

Send notifications to control clients. Also don't redraw client when
suspended.