Add a client-active hook, from ncfavier in GitHub issue 2803.
authornicm <nicm@openbsd.org>
Wed, 4 Aug 2021 08:07:19 +0000 (08:07 +0000)
committernicm <nicm@openbsd.org>
Wed, 4 Aug 2021 08:07:19 +0000 (08:07 +0000)
usr.bin/tmux/options-table.c
usr.bin/tmux/server-client.c
usr.bin/tmux/tmux.1

index 172fc6b..c354804 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: options-table.c,v 1.146 2021/07/28 07:06:54 nicm Exp $ */
+/* $OpenBSD: options-table.c,v 1.147 2021/08/04 08:07:19 nicm Exp $ */
 
 /*
  * Copyright (c) 2011 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -1145,6 +1145,7 @@ const struct options_table_entry options_table[] = {
        OPTIONS_TABLE_HOOK("alert-activity", ""),
        OPTIONS_TABLE_HOOK("alert-bell", ""),
        OPTIONS_TABLE_HOOK("alert-silence", ""),
+       OPTIONS_TABLE_HOOK("client-active", ""),
        OPTIONS_TABLE_HOOK("client-attached", ""),
        OPTIONS_TABLE_HOOK("client-detached", ""),
        OPTIONS_TABLE_HOOK("client-resized", ""),
index a5604ab..949e253 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: server-client.c,v 1.376 2021/07/21 08:06:36 nicm Exp $ */
+/* $OpenBSD: server-client.c,v 1.377 2021/08/04 08:07:19 nicm Exp $ */
 
 /*
  * Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -1127,6 +1127,8 @@ server_client_update_latest(struct client *c)
 
        if (options_get_number(w->options, "window-size") == WINDOW_SIZE_LATEST)
                recalculate_size(w, 0);
+
+       notify_client("client-active", c);
 }
 
 /*
index 61968db..27d90be 100644 (file)
@@ -1,4 +1,4 @@
-.\" $OpenBSD: tmux.1,v 1.844 2021/06/18 07:46:54 nicm Exp $
+.\" $OpenBSD: tmux.1,v 1.845 2021/08/04 08:07:19 nicm Exp $
 .\"
 .\" Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
 .\"
@@ -14,7 +14,7 @@
 .\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: June 18 2021 $
+.Dd $Mdocdate: August 4 2021 $
 .Dt TMUX 1
 .Os
 .Sh NAME
@@ -4396,6 +4396,8 @@ See
 Run when a window has been silent.
 See
 .Ic monitor-silence .
+.It client-active
+Run when a client becomes the latest active client of its session.
 .It client-attached
 Run when a client is attached.
 .It client-detached