Comment inline.
On Sun, Apr 14, 2013 at 05:01:38PM +0100, Thomas Adam wrote:
> This allows for hooks to run when a bell is sounded by tmux.
> ---
> server-window.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/server-window.c b/server-window.c
> index 4f5a550..99c25eb 100644
> --- a/server-window.c
> +++ b/server-window.c
> @@ -88,7 +88,7 @@ server_window_check_bell(struct session *s, struct winlink
> *wl)
> if (c == NULL || c->session != s || (c->flags & CLIENT_CONTROL))
> continue;
> if (!visual) {
> - tty_bell(&c->tty);
> + ring_bell(s);
> continue;
> }
> if (c->session->curw->window == w)
> @@ -238,11 +238,18 @@ void
> ring_bell(struct session *s)
> {
> struct client *c;
> + struct hooks *hooks;
> + struct hook *h;
> u_int i;
>
> for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
> c = ARRAY_ITEM(&clients, i);
> - if (c != NULL && c->session == s && !(c->flags &
> CLIENT_CONTROL))
> + if (c != NULL && c->session == s && !(c->flags &
> CLIENT_CONTROL)) {
> tty_bell(&c->tty);
> + hooks = s != NULL ? &s->hooks : &global_hooks;
> + if ((h = hooks_find(hooks, "on-bell")) != NULL)
> + hooks_run(h, c->cmdq);
I think you should add a helper to do these few lines because I guess
they will appear in a few places.
Maybe server_session_hook in server-fn.c or session_run_hook in
session.c?
I would make it variadic so we can use formats for the name, eg
something like:
void server_session_hook(struct session *s, const char *fmt, ...);
But don't forget to add printflike to the declaration in tmux,h.
> + }
> +
> }
> }
> --
> 1.7.11.4
>
>
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> tmux-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/tmux-users
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
tmux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-users