Hi,

I added it, otherwise you end up with the activity timer constantly being
triggered.

-- Thomas Adam

On Wed, 26 Jul 2017 at 17:09 Nicholas Marriott <[email protected]>
wrote:

> 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.
>

-- 
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