diff options
author | nicm <nicm> | 2021-03-16 09:14:58 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-03-16 09:14:58 +0000 |
commit | 8b800b41c98c37a270cea61e57d1f2702fd75293 (patch) | |
tree | 7a286753c567e479e390b7cfbf24a6b26e66e7e1 | |
parent | 9017af23556abdc31ba37c925adf6e0f1bb12671 (diff) | |
download | rtmux-8b800b41c98c37a270cea61e57d1f2702fd75293.tar.gz rtmux-8b800b41c98c37a270cea61e57d1f2702fd75293.tar.bz2 rtmux-8b800b41c98c37a270cea61e57d1f2702fd75293.zip |
Add client-detached notification in control mode, from Mohsin Kaleem.
-rw-r--r-- | control-notify.c | 11 | ||||
-rw-r--r-- | notify.c | 2 | ||||
-rw-r--r-- | tmux.1 | 2 | ||||
-rw-r--r-- | tmux.h | 1 |
4 files changed, 16 insertions, 0 deletions
diff --git a/control-notify.c b/control-notify.c index cc706ac2..6ff0e436 100644 --- a/control-notify.c +++ b/control-notify.c @@ -172,6 +172,17 @@ control_notify_client_session_changed(struct client *cc) } void +control_notify_client_detached(struct client *cc) +{ + struct client *c; + + TAILQ_FOREACH(c, &clients, entry) { + if (CONTROL_SHOULD_NOTIFY_CLIENT(c)) + control_write(c, "%%client-detached %s", cc->name); + } +} + +void control_notify_session_renamed(struct session *s) { struct client *c; @@ -126,6 +126,8 @@ notify_callback(struct cmdq_item *item, void *data) control_notify_window_renamed(ne->window); if (strcmp(ne->name, "client-session-changed") == 0) control_notify_client_session_changed(ne->client); + if (strcmp(ne->name, "client-detached") == 0) + control_notify_client_detached(ne->client); if (strcmp(ne->name, "session-renamed") == 0) control_notify_session_renamed(ne->session); if (strcmp(ne->name, "session-created") == 0) @@ -6107,6 +6107,8 @@ A notification will never occur inside an output block. .Pp The following notifications are defined: .Bl -tag -width Ds +.It Ic %client-detached Ar client +The client has detached. .It Ic %client-session-changed Ar client session-id name The client is now attached to the session with ID .Ar session-id , @@ -2945,6 +2945,7 @@ void control_notify_window_unlinked(struct session *, struct window *); void control_notify_window_linked(struct session *, struct window *); void control_notify_window_renamed(struct window *); void control_notify_client_session_changed(struct client *); +void control_notify_client_detached(struct client *); void control_notify_session_renamed(struct session *); void control_notify_session_created(struct session *); void control_notify_session_closed(struct session *); |