If you remove this line from alerts_queue:

        if (w->flags & WINDOW_ACTIVITY)

So it always calls alerts_reset, it fixes this case. But it might need a
closer look to see why this was added in the first place.



On Wed, Jul 26, 2017 at 05:05:21PM +0200, Yvain Thonnart wrote:
>    Sorry, missed the two important lines from the bash prompt:
>    in .tmux.conf:
>    -----------------
>    set -g activity-action other
>    set -g silence-action current
>    set -g visual-activity on
>    set -g visual-silence on
>    at bash prompt within tmux:
>    ------------------------------------
>    tmux setw monitor-silence 10
>    tmux setw monitor-activity on
>    while true; do echo hello; sleep 1 ; done
>    hello
>    hello
>    [...]
>    hello
>    [Silence in window 0]
>    2017-07-26 17:00 GMT+02:00 Yvain Thonnart <[email protected]>:
> 
>      Thank you.
>      I've been testing this patch for different configurations, it's very
>      flexible.
>      It runs fine on my side in all reasonable configurations.
>      I'd be glad that you would merge it to master somedaya*|
>      To be thorough, though, I've found a configuration which is totally
>      unreasonable, but which reports invalid alerts:
>      in .tmux.conf:
>      -----------------
>      set -g activity-action other
>      set -g silence-action current
>      set -g visual-activity on
>      set -g visual-silence on
>      at bash prompt within tmux:
>      ------------------------------------
>      while true; do echo hello; sleep 1 ; done
>      hello
>      hello
>      [...]
>      hello
>      [Silence in window 0]
>      It is the combination of both monitor-silence and monitor-activity which
>      apparently resets the alert timer due to activity, which then fires
>      after 10 seconds, falsely reporting silence.
>      I haven't managed to get the whole callback flow in your code to give
>      you more clues.
>      I attached the server log in case this matters to you.
>      I guess somebody at least as retort as myself might bump on this if
>      using this in his/her .tmux.conf:
>      set -g activity-action other
>      set -g silence-action current
>      set -g visual-activity on
>      set -g visual-silence on
>      set -g monitor-silence 10
>      set -g monitor-activity on
>      Hoping that the filter on activity->other and silence->current will hide
>      the events set by default on any window.
>      Yet as this configuration is unreasonable, this may not need to be
>      fixed...
>      Thanks again for this, and for all your impressive work on this program,
>      Best regards,
>      Yvain
>      2017-07-26 14:43 GMT+02:00 Nicholas Marriott
>      <[email protected]>:
> 
>        Hi
> 
>        OK the problem with making it work exactly like bell-action is that
>        bell-action "none" suppresses visual bell as well - this means that if
>        the default for bell-on-alert is "none" then anyone who currently uses
>        monitor-activity will need to add the option which is not ideal.
> 
>        Also it means bell-on-alert no longer serves its original purpose of
>        allowing both visual and bell for activity and silence.
> 
>        And bell-on-alert is not a good name for it now.
> 
>        So here is what I suggest:
> 
>        - We remove bell-on-alert entirely.
> 
>        - Instead we add activity-action and silence-action which are
>        equivalent
>        A  to bell-action but can default to "other" instead of "any".
> 
>        - We add a new value to visual-* "both" so it is still possible to get
>        a
>        A  bell and a message.
> 
>        This way all three are consistent.
> 
>        I don't much like adding a new option but it is less confusing.
> 
>        Please try this:
> 
>        Index: alerts.c
>        ===================================================================
>        RCS file: /cvs/src/usr.bin/tmux/alerts.c,v
>        retrieving revision 1.20
>        diff -u -p -r1.20 alerts.c
>        --- alerts.cA  A  28 Jun 2017 06:45:31 -0000A  A  A  1.20
>        +++ alerts.cA  A  26 Jul 2017 12:42:57 -0000
>        @@ -34,9 +34,8 @@ static intA  A  alerts_check_all(struct windo
>        A static intA  A  A alerts_check_bell(struct window *);
>        A static intA  A  A alerts_check_activity(struct window *);
>        A static intA  A  A alerts_check_silence(struct window *);
>        -static void printflike(2, 3) alerts_set_message(struct session *,
>        const char *,
>        -A  A  A  A  A  A  A  A  A  A ...);
>        -static voidA  A  alerts_ring_bell(struct session *);
>        +static voidA  A  alerts_set_message(struct session *, struct window
>        *,
>        +A  A  A  A  A  A  A  A  A  A struct winlink *, const char *, int,
>        int);
> 
>        A static TAILQ_HEAD(, window) alerts_list =
>        TAILQ_HEAD_INITIALIZER(alerts_list);
> 
>        @@ -162,11 +161,8 @@ alerts_queue(struct window *w, int flags
>        A static int
>        A alerts_check_bell(struct window *w)
>        A {
>        -A  A  A  A struct windowA  A *ws;
>        A  A  A  A  struct winlinkA  *wl;
>        A  A  A  A  struct sessionA  *s;
>        -A  A  A  A struct clientA  A *c;
>        -A  A  A  A intA  A  A  A  A  A  A  action, visual;
> 
>        A  A  A  A  if (~w->flags & WINDOW_BELL)
>        A  A  A  A  A  A  A  A  return (0);
>        @@ -187,33 +183,9 @@ alerts_check_bell(struct window *w)
>        A  A  A  A  A  A  A  A  A  A  A  A  continue;
>        A  A  A  A  A  A  A  A  s->flags |= SESSION_ALERTED;
> 
>        -A  A  A  A  A  A  A  A action = options_get_number(s->options,
>        "bell-action");
>        -A  A  A  A  A  A  A  A if (action == BELL_NONE)
>        -A  A  A  A  A  A  A  A  A  A  A  A return (0);
>        -
>        -A  A  A  A  A  A  A  A visual = options_get_number(s->options,
>        "visual-bell");
>        -A  A  A  A  A  A  A  A TAILQ_FOREACH(c, &clients, entry) {
>        -A  A  A  A  A  A  A  A  A  A  A  A if (c->session != s || c->flags &
>        CLIENT_CONTROL)
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A continue;
>        -A  A  A  A  A  A  A  A  A  A  A  A ws = c->session->curw->window;
>        -
>        -A  A  A  A  A  A  A  A  A  A  A  A if (action == BELL_CURRENT && ws
>        != w)
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A action = BELL_NONE;
>        -A  A  A  A  A  A  A  A  A  A  A  A if (action == BELL_OTHER && ws !=
>        w)
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A action = BELL_NONE;
>        -
>        -A  A  A  A  A  A  A  A  A  A  A  A if (!visual) {
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A if (action !=
>        BELL_NONE)
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A 
>        A tty_putcode(&c->tty, TTYC_BEL);
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A continue;
>        -A  A  A  A  A  A  A  A  A  A  A  A }
>        -A  A  A  A  A  A  A  A  A  A  A  A if (action == BELL_CURRENT)
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A status_message_set(c,
>        "Bell in current window");
>        -A  A  A  A  A  A  A  A  A  A  A  A else if (action != BELL_NONE) {
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A status_message_set(c,
>        "Bell in window %d",
>        -A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A wl->idx);
>        -A  A  A  A  A  A  A  A  A  A  A  A }
>        -A  A  A  A  A  A  A  A }
>        +A  A  A  A  A  A  A  A alerts_set_message(s, w, wl, "Bell",
>        +A  A  A  A  A  A  A  A  A  A options_get_number(s->options,
>        "bell-action"),
>        +A  A  A  A  A  A  A  A  A  A options_get_number(s->options,
>        "visual-bell"));
>        A  A  A  A  }
> 
>        A  A  A  A  return (WINDOW_BELL);
>        @@ -237,20 +209,18 @@ alerts_check_activity(struct window *w)
>        A  A  A  A  A  A  A  A  if (wl->flags & WINLINK_ACTIVITY)
>        A  A  A  A  A  A  A  A  A  A  A  A  continue;
>        A  A  A  A  A  A  A  A  s = wl->session;
>        -A  A  A  A  A  A  A  A if (s->curw == wl)
>        -A  A  A  A  A  A  A  A  A  A  A  A continue;
>        -
>        -A  A  A  A  A  A  A  A wl->flags |= WINLINK_ACTIVITY;
>        -A  A  A  A  A  A  A  A notify_winlink("alert-activity", wl);
>        +A  A  A  A  A  A  A  A if (s->curw != wl) {
>        +A  A  A  A  A  A  A  A  A  A  A  A wl->flags |= WINLINK_ACTIVITY;
>        +A  A  A  A  A  A  A  A  A  A  A  A notify_winlink("alert-activity",
>        wl);
>        +A  A  A  A  A  A  A  A }
> 
>        A  A  A  A  A  A  A  A  if (s->flags & SESSION_ALERTED)
>        A  A  A  A  A  A  A  A  A  A  A  A  continue;
>        A  A  A  A  A  A  A  A  s->flags |= SESSION_ALERTED;
> 
>        -A  A  A  A  A  A  A  A if (options_get_number(s->options,
>        "bell-on-alert"))
>        -A  A  A  A  A  A  A  A  A  A  A  A alerts_ring_bell(s);
>        -A  A  A  A  A  A  A  A if (options_get_number(s->options,
>        "visual-activity"))
>        -A  A  A  A  A  A  A  A  A  A  A  A alerts_set_message(s, "Activity in
>        window %d", wl->idx);
>        +A  A  A  A  A  A  A  A alerts_set_message(s, w, wl, "Activity",
>        +A  A  A  A  A  A  A  A  A  A options_get_number(s->options,
>        "activity-action"),
>        +A  A  A  A  A  A  A  A  A  A options_get_number(s->options,
>        "visual-activity"));
>        A  A  A  A  }
> 
>        A  A  A  A  return (WINDOW_ACTIVITY);
>        @@ -264,7 +234,7 @@ alerts_check_silence(struct window *w)
>        A  A  A  A  if (~w->flags & WINDOW_SILENCE)
>        A  A  A  A  A  A  A  A  return (0);
>        -A  A  A  A if (!options_get_number(w->options, "monitor-silence"))
>        +A  A  A  A if (options_get_number(w->options, "monitor-silence") ==
>        0)
>        A  A  A  A  A  A  A  A  return (0);
> 
>        A  A  A  A  TAILQ_FOREACH(wl, &w->winlinks, wentry)
>        @@ -274,50 +244,66 @@ alerts_check_silence(struct window *w)
>        A  A  A  A  A  A  A  A  if (wl->flags & WINLINK_SILENCE)
>        A  A  A  A  A  A  A  A  A  A  A  A  continue;
>        A  A  A  A  A  A  A  A  s = wl->session;
>        -A  A  A  A  A  A  A  A if (s->curw == wl)
>        -A  A  A  A  A  A  A  A  A  A  A  A continue;
>        -A  A  A  A  A  A  A  A wl->flags |= WINLINK_SILENCE;
>        -A  A  A  A  A  A  A  A notify_winlink("alert-silence", wl);
>        +A  A  A  A  A  A  A  A if (s->curw != wl) {
>        +A  A  A  A  A  A  A  A  A  A  A  A wl->flags |= WINLINK_SILENCE;
>        +A  A  A  A  A  A  A  A  A  A  A  A notify_winlink("alert-silence",
>        wl);
>        +A  A  A  A  A  A  A  A }
> 
>        A  A  A  A  A  A  A  A  if (s->flags & SESSION_ALERTED)
>        A  A  A  A  A  A  A  A  A  A  A  A  continue;
>        A  A  A  A  A  A  A  A  s->flags |= SESSION_ALERTED;
> 
>        -A  A  A  A  A  A  A  A if (options_get_number(s->options,
>        "bell-on-alert"))
>        -A  A  A  A  A  A  A  A  A  A  A  A alerts_ring_bell(s);
>        -A  A  A  A  A  A  A  A if (options_get_number(s->options,
>        "visual-silence"))
>        -A  A  A  A  A  A  A  A  A  A  A  A alerts_set_message(s, "Silence in
>        window %d", wl->idx);
>        +A  A  A  A  A  A  A  A alerts_set_message(s, w, wl, "Silence",
>        +A  A  A  A  A  A  A  A  A  A options_get_number(s->options,
>        "silence-action"),
>        +A  A  A  A  A  A  A  A  A  A options_get_number(s->options,
>        "visual-silence"));
>        A  A  A  A  }
> 
>        A  A  A  A  return (WINDOW_SILENCE);
>        A }
> 
>        A static void
>        -alerts_set_message(struct session *s, const char *fmt, ...)
>        +alerts_set_message(struct session *s, struct window *w, struct
>        winlink *wl,
>        +A  A  const char *type, int action, int visual)
>        A {
>        A  A  A  A  struct clientA  A *c;
>        -A  A  A  A va_listA  A  A  A  A  ap;
>        -A  A  A  A charA  A  A  A  A  A  *message;
>        +A  A  A  A intA  A  A  A  A  A  A  flag;
> 
>        -A  A  A  A va_start(ap, fmt);
>        -A  A  A  A xvasprintf(&message, fmt, ap);
>        -A  A  A  A va_end(ap);
>        +A  A  A  A /*
>        +A  A  A  A  * We have found an alert (bell, activity or silence), so
>        we need
>        +A  A  A  A  * to notify the user. For each client attached to this
>        session,
>        +A  A  A  A  * decide whether a bell (or visual message) is needed.
>        +A  A  A  A  *
>        +A  A  A  A  * {bell,activity,silence}-action determines when we
>        notify: none means
>        +A  A  A  A  * nothing happens, current means we only do something for
>        the current
>        +A  A  A  A  * window and other means only for windows other than the
>        current.
>        +A  A  A  A  *
>        +A  A  A  A  * If visual-{bell,activity,silence} is on, then a message
>        is
>        +A  A  A  A  * substituted for a bell; if it is off, a bell is sent as
>        normal; both
>        +A  A  A  A  * mean both a bell and visual message is sent.
>        +A  A  A  A  */
>        +A  A  A  A if (action == BELL_NONE)
>        +A  A  A  A  A  A  A  A return;
>        A  A  A  A  TAILQ_FOREACH(c, &clients, entry) {
>        -A  A  A  A  A  A  A  A if (c->session == s)
>        -A  A  A  A  A  A  A  A  A  A  A  A status_message_set(c, "%s",
>        message);
>        -A  A  A  A }
>        -
>        -A  A  A  A free(message);
>        -}
>        -
>        -static void
>        -alerts_ring_bell(struct session *s)
>        -{
>        -A  A  A  A struct clientA  A *c;
>        +A  A  A  A  A  A  A  A if (c->session != s || c->flags &
>        CLIENT_CONTROL)
>        +A  A  A  A  A  A  A  A  A  A  A  A continue;
>        +A  A  A  A  A  A  A  A flag = 0;
>        +A  A  A  A  A  A  A  A if (action == BELL_ANY)
>        +A  A  A  A  A  A  A  A  A  A  A  A flag = 1;
>        +A  A  A  A  A  A  A  A else if (action == BELL_CURRENT)
>        +A  A  A  A  A  A  A  A  A  A  A  A flag = (c->session->curw->window
>        == w);
>        +A  A  A  A  A  A  A  A else if (action == BELL_OTHER)
>        +A  A  A  A  A  A  A  A  A  A  A  A flag = (c->session->curw->window
>        != w);
>        +A  A  A  A  A  A  A  A if (!flag)
>        +A  A  A  A  A  A  A  A  A  A  A  A continue;
> 
>        -A  A  A  A TAILQ_FOREACH(c, &clients, entry) {
>        -A  A  A  A  A  A  A  A if (c->session == s && !(c->flags &
>        CLIENT_CONTROL))
>        +A  A  A  A  A  A  A  A if (visual == VISUAL_OFF || visual ==
>        VISUAL_BOTH)
>        A  A  A  A  A  A  A  A  A  A  A  A  tty_putcode(&c->tty, TTYC_BEL);
>        +A  A  A  A  A  A  A  A if (visual == VISUAL_OFF)
>        +A  A  A  A  A  A  A  A  A  A  A  A continue;
>        +A  A  A  A  A  A  A  A if (c->session->curw->window == w)
>        +A  A  A  A  A  A  A  A  A  A  A  A status_message_set(c, "%s in
>        current window", type);
>        +A  A  A  A  A  A  A  A else
>        +A  A  A  A  A  A  A  A  A  A  A  A status_message_set(c, "%s in
>        window %d", type, wl->idx);
>        A  A  A  A  }
>        A }
>        Index: options-table.c
>        ===================================================================
>        RCS file: /cvs/src/usr.bin/tmux/options-table.c,v
>        retrieving revision 1.90
>        diff -u -p -r1.90 options-table.c
>        --- options-table.cA  A  A 23 Jun 2017 15:36:52 -0000A  A  A  1.90
>        +++ options-table.cA  A  A 26 Jul 2017 12:42:57 -0000
>        @@ -51,6 +51,9 @@ static const char *options_table_status_
>        A static const char *options_table_bell_action_list[] = {
>        A  A  A  A  "none", "any", "current", "other", NULL
>        A };
>        +static const char *options_table_visual_bell_list[] = {
>        +A  A  A  A "off", "on", "both", NULL
>        +};
>        A static const char *options_table_pane_status_list[] = {
>        A  A  A  A  "off", "top", "bottom", NULL
>        A };
>        @@ -143,6 +146,13 @@ const struct options_table_entry options
>        A  A  A  A  A  .separator = ","
>        A  A  A  A  },
> 
>        +A  A  A  A { .name = "activity-action",
>        +A  A  A  A  A .type = OPTIONS_TABLE_CHOICE,
>        +A  A  A  A  A .scope = OPTIONS_TABLE_SESSION,
>        +A  A  A  A  A .choices = options_table_bell_action_list,
>        +A  A  A  A  A .default_num = BELL_OTHER
>        +A  A  A  A },
>        +
>        A  A  A  A  { .name = "assume-paste-time",
>        A  A  A  A  A  .type = OPTIONS_TABLE_NUMBER,
>        A  A  A  A  A  .scope = OPTIONS_TABLE_SESSION,
>        @@ -166,12 +176,6 @@ const struct options_table_entry options
>        A  A  A  A  A  .default_num = BELL_ANY
>        A  A  A  A  },
> 
>        -A  A  A  A { .name = "bell-on-alert",
>        -A  A  A  A  A .type = OPTIONS_TABLE_FLAG,
>        -A  A  A  A  A .scope = OPTIONS_TABLE_SESSION,
>        -A  A  A  A  A .default_num = 0
>        -A  A  A  A },
>        -
>        A  A  A  A  { .name = "default-command",
>        A  A  A  A  A  .type = OPTIONS_TABLE_STRING,
>        A  A  A  A  A  .scope = OPTIONS_TABLE_SESSION,
>        @@ -350,6 +354,13 @@ const struct options_table_entry options
>        A  A  A  A  A  .default_str = "#S:#I:#W - \"#T\" #{session_alerts}"
>        A  A  A  A  },
> 
>        +A  A  A  A { .name = "silence-action",
>        +A  A  A  A  A .type = OPTIONS_TABLE_CHOICE,
>        +A  A  A  A  A .scope = OPTIONS_TABLE_SESSION,
>        +A  A  A  A  A .choices = options_table_bell_action_list,
>        +A  A  A  A  A .default_num = BELL_OTHER
>        +A  A  A  A },
>        +
>        A  A  A  A  { .name = "status",
>        A  A  A  A  A  .type = OPTIONS_TABLE_FLAG,
>        A  A  A  A  A  .scope = OPTIONS_TABLE_SESSION,
>        @@ -502,21 +513,24 @@ const struct options_table_entry options
>        A  A  A  A  },
> 
>        A  A  A  A  { .name = "visual-activity",
>        -A  A  A  A  A .type = OPTIONS_TABLE_FLAG,
>        +A  A  A  A  A .type = OPTIONS_TABLE_CHOICE,
>        A  A  A  A  A  .scope = OPTIONS_TABLE_SESSION,
>        -A  A  A  A  A .default_num = 0
>        +A  A  A  A  A .choices = options_table_visual_bell_list,
>        +A  A  A  A  A .default_num = VISUAL_OFF
>        A  A  A  A  },
> 
>        A  A  A  A  { .name = "visual-bell",
>        -A  A  A  A  A .type = OPTIONS_TABLE_FLAG,
>        +A  A  A  A  A .type = OPTIONS_TABLE_CHOICE,
>        A  A  A  A  A  .scope = OPTIONS_TABLE_SESSION,
>        -A  A  A  A  A .default_num = 0
>        +A  A  A  A  A .choices = options_table_visual_bell_list,
>        +A  A  A  A  A .default_num = VISUAL_OFF
>        A  A  A  A  },
> 
>        A  A  A  A  { .name = "visual-silence",
>        -A  A  A  A  A .type = OPTIONS_TABLE_FLAG,
>        +A  A  A  A  A .type = OPTIONS_TABLE_CHOICE,
>        A  A  A  A  A  .scope = OPTIONS_TABLE_SESSION,
>        -A  A  A  A  A .default_num = 0
>        +A  A  A  A  A .choices = options_table_visual_bell_list,
>        +A  A  A  A  A .default_num = VISUAL_OFF
>        A  A  A  A  },
> 
>        A  A  A  A  { .name = "word-separators",
>        Index: tmux.1
>        ===================================================================
>        RCS file: /cvs/src/usr.bin/tmux/tmux.1,v
>        retrieving revision 1.568
>        diff -u -p -r1.568 tmux.1
>        --- tmux.1A  A  A  21 Jul 2017 09:17:19 -0000A  A  A  1.568
>        +++ tmux.1A  A  A  26 Jul 2017 12:42:58 -0000
>        @@ -2515,6 +2515,25 @@ before interpretation.
>        A .Pp
>        A Available session options are:
>        A .Bl -tag -width Ds
>        +.It Xo Ic activity-action
>        +.Op Ic any | none | current | other
>        +.Xc
>        +Set action on window activity when
>        +.Ic monitor-activity
>        +is on.
>        +.Ic any
>        +means activity in any window linked to a session causes a bell or
>        message
>        +(depending on
>        +.Ic visual-activity )
>        +in the current window of that session,
>        +.Ic none
>        +means all activity is ignored (equivalent to
>        +.Ic monitor-activity
>        +being off),
>        +.Ic current
>        +means only activity in windows other than the current window are
>        ignored and
>        +.Ic other
>        +means activity in the current window is ignored but not those in
>        other windows.
>        A .It Ic assume-paste-time Ar milliseconds
>        A If keys are entered faster than one in
>        A .Ar milliseconds ,
>        @@ -2530,20 +2549,8 @@ The default is zero.
>        A .Op Ic any | none | current | other
>        A .Xc
>        A Set action on window bell.
>        -.Ic any
>        -means a bell in any window linked to a session causes a bell in the
>        current
>        -window of that session,
>        -.Ic none
>        -means all bells are ignored,
>        -.Ic current
>        -means only bells in windows other than the current window are ignored
>        and
>        -.Ic other
>        -means bells in the current window are ignored but not those in other
>        windows.
>        -.It Xo Ic bell-on-alert
>        -.Op Ic on | off
>        -.Xc
>        -If on, ring the terminal bell when an alert
>        -occurs.
>        +The values are the same as those for
>        +.Ic activity-action .
>        A .It Ic default-command Ar shell-command
>        A Set the command used for new windows (if not specified when the
>        window is
>        A created) to
>        @@ -2759,6 +2766,15 @@ is on.
>        A Formats are expanded, see the
>        A .Sx FORMATS
>        A section.
>        +.It Xo Ic silence-action
>        +.Op Ic any | none | current | other
>        +.Xc
>        +Set action on window silence when
>        +.Ic monitor-silence
>        +is on.
>        +The values are the same as those for
>        +.Ic activity-action .
>        +.Pp
>        A .It Xo Ic status
>        A .Op Ic on | off
>        A .Xc
>        @@ -2884,26 +2900,30 @@ set -s user-keys[0] '\e[5;30012~'
>        A bind User0 resize-pane -L 3
>        A .Ed
>        A .It Xo Ic visual-activity
>        -.Op Ic on | off
>        +.Op Ic on | off | both
>        A .Xc
>        -If on, display a status line message when activity occurs in a window
>        -for which the
>        +If on, display a message instead of sending a bell when activity
>        occurs in a
>        +window for which the
>        A .Ic monitor-activity
>        A window option is enabled.
>        +If set to both, a bell and a message are produced.
>        A .It Xo Ic visual-bell
>        -.Op Ic on | off
>        +.Op Ic on | off | both
>        A .Xc
>        -If this option is on, a message is shown on a bell instead of it
>        being passed
>        -through to the terminal (which normally makes a sound).
>        +If on, a message is shown on a bell instead of it being passed
>        through to the
>        +terminal (which normally makes a sound).
>        +If set to both, a bell and a message are produced.
>        A Also see the
>        A .Ic bell-action
>        A option.
>        A .It Xo Ic visual-silence
>        -.Op Ic on | off
>        +.Op Ic on | off | both
>        A .Xc
>        A If
>        A .Ic monitor-silence
>        -is enabled, prints a message after the interval has expired on a
>        given window.
>        +is enabled, prints a message after the interval has expired on a
>        given window
>        +instead of sending a bell.
>        +If set to both, a bell and a message are produced.
>        A .It Ic word-separators Ar string
>        A Sets the session's conception of what characters are considered word
>        A separators, for the purposes of the next and previous word commands
>        in
>        Index: tmux.h
>        ===================================================================
>        RCS file: /cvs/src/usr.bin/tmux/tmux.h,v
>        retrieving revision 1.796
>        diff -u -p -r1.796 tmux.h
>        --- tmux.hA  A  A  14 Jul 2017 18:49:07 -0000A  A  A  1.796
>        +++ tmux.hA  A  A  26 Jul 2017 12:42:58 -0000
>        @@ -83,6 +83,11 @@ struct tmuxproc;
>        A #define BELL_CURRENT 2
>        A #define BELL_OTHER 3
> 
>        +/* Visual option values. */
>        +#define VISUAL_OFF 0
>        +#define VISUAL_ON 1
>        +#define VISUAL_BOTH 2
>        +
>        A /* Special key codes. */
>        A #define KEYC_NONE 0xffff00000000ULL
>        A #define KEYC_UNKNOWN 0xfffe00000000ULL

-- 
You received this message because you are subscribed to the Google Groups 
"tmux-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to