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