diff options
author | nicm <nicm> | 2021-08-06 09:19:02 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-08-06 09:19:02 +0000 |
commit | 19812b2d29e305927461c26651a3d228c22d928a (patch) | |
tree | b85658024480ddc3c560d077b5e6a73264f1f372 | |
parent | ef5602a5901774425d455a11f71a49258ed2ead6 (diff) | |
download | rtmux-19812b2d29e305927461c26651a3d228c22d928a.tar.gz rtmux-19812b2d29e305927461c26651a3d228c22d928a.tar.bz2 rtmux-19812b2d29e305927461c26651a3d228c22d928a.zip |
Add client focus hooks.
-rw-r--r-- | options-table.c | 2 | ||||
-rw-r--r-- | tmux.1 | 4 | ||||
-rw-r--r-- | tty-keys.c | 7 |
3 files changed, 11 insertions, 2 deletions
diff --git a/options-table.c b/options-table.c index a4b85fd2..e0ae993a 100644 --- a/options-table.c +++ b/options-table.c @@ -1148,6 +1148,8 @@ const struct options_table_entry options_table[] = { OPTIONS_TABLE_HOOK("client-active", ""), OPTIONS_TABLE_HOOK("client-attached", ""), OPTIONS_TABLE_HOOK("client-detached", ""), + OPTIONS_TABLE_HOOK("client-focus-in", ""), + OPTIONS_TABLE_HOOK("client-focus-out", ""), OPTIONS_TABLE_HOOK("client-resized", ""), OPTIONS_TABLE_HOOK("client-session-changed", ""), OPTIONS_TABLE_PANE_HOOK("pane-died", ""), @@ -4402,6 +4402,10 @@ Run when a client becomes the latest active client of its session. Run when a client is attached. .It client-detached Run when a client is detached +.It client-focus-in +Run when focus enters a client +.It client-focus-out +Run when focus exits a client .It client-resized Run when a client is resized. .It client-session-changed @@ -820,10 +820,13 @@ complete_key: tty->flags &= ~TTY_TIMER; /* Check for focus events. */ - if (key == KEYC_FOCUS_OUT) + if (key == KEYC_FOCUS_OUT) { tty->client->flags &= ~CLIENT_FOCUSED; - else if (key == KEYC_FOCUS_IN) + notify_client("client-focus-out", c); + } else if (key == KEYC_FOCUS_IN) { tty->client->flags |= CLIENT_FOCUSED; + notify_client("client-focus-in", c); + } /* Fire the key. */ if (key != KEYC_UNKNOWN) { |