aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornicm <nicm>2017-08-17 08:37:38 +0000
committernicm <nicm>2017-08-17 08:37:38 +0000
commit8daa1d5f547b3933c30fc45d2a80da5016b7dbca (patch)
treef4f1782b8385cc6cd2c30d5ce8e87a5dcb6a3b7d
parentc6a8ad23a14034ee956bcb45748f743ef5d0c1fc (diff)
downloadrtmux-8daa1d5f547b3933c30fc45d2a80da5016b7dbca.tar.gz
rtmux-8daa1d5f547b3933c30fc45d2a80da5016b7dbca.tar.bz2
rtmux-8daa1d5f547b3933c30fc45d2a80da5016b7dbca.zip
Add monitor-bell window option to match the activity and silence
options, from Brad Town.
-rw-r--r--alerts.c8
-rw-r--r--options-table.c6
-rw-r--r--tmux.120
3 files changed, 28 insertions, 6 deletions
diff --git a/alerts.c b/alerts.c
index 9c9bdf3b..f047acae 100644
--- a/alerts.c
+++ b/alerts.c
@@ -90,8 +90,10 @@ alerts_check_session(struct session *s)
static int
alerts_enabled(struct window *w, int flags)
{
- if (flags & WINDOW_BELL)
- return (1);
+ if (flags & WINDOW_BELL) {
+ if (options_get_number(w->options, "monitor-bell"))
+ return (1);
+ }
if (flags & WINDOW_ACTIVITY) {
if (options_get_number(w->options, "monitor-activity"))
return (1);
@@ -164,6 +166,8 @@ alerts_check_bell(struct window *w)
if (~w->flags & WINDOW_BELL)
return (0);
+ if (!options_get_number(w->options, "monitor-bell"))
+ return (0);
TAILQ_FOREACH(wl, &w->winlinks, wentry)
wl->session->flags &= ~SESSION_ALERTED;
diff --git a/options-table.c b/options-table.c
index 81d353e9..a4d450d7 100644
--- a/options-table.c
+++ b/options-table.c
@@ -655,6 +655,12 @@ const struct options_table_entry options_table[] = {
.default_num = 0
},
+ { .name = "monitor-bell",
+ .type = OPTIONS_TABLE_FLAG,
+ .scope = OPTIONS_TABLE_WINDOW,
+ .default_num = 1
+ },
+
{ .name = "monitor-silence",
.type = OPTIONS_TABLE_NUMBER,
.scope = OPTIONS_TABLE_WINDOW,
diff --git a/tmux.1 b/tmux.1
index c7595616..6c8a542e 100644
--- a/tmux.1
+++ b/tmux.1
@@ -2563,7 +2563,9 @@ The default is zero.
.It Xo Ic bell-action
.Op Ic any | none | current | other
.Xc
-Set action on window bell.
+Set action on a bell in a window when
+.Ic monitor-bell
+is on.
The values are the same as those for
.Ic activity-action .
.It Ic default-command Ar shell-command
@@ -2924,7 +2926,9 @@ If set to both, a bell and a message are produced.
.It Xo Ic visual-bell
.Op Ic on | off | both
.Xc
-If on, a message is shown on a bell instead of it being passed through to the
+If on, a message is shown on a bell in a window for which the
+.Ic monitor-bell
+window option is enabled 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.
Also see the
@@ -3082,6 +3086,12 @@ option.
Monitor for activity in the window.
Windows with activity are highlighted in the status line.
.Pp
+.It Xo Ic monitor-bell
+.Op Ic on | off
+.Xc
+Monitor for a bell in the window.
+Windows with a bell are highlighted in the status line.
+.Pp
.It Xo Ic monitor-silence
.Op Ic interval
.Xc
@@ -3315,6 +3325,8 @@ See
.Ic monitor-activity .
.It alert-bell
Run when a window has received a bell.
+See
+.Ic monitor-bell .
.It alert-silence
Run when a window has been silent.
See
@@ -3845,8 +3857,8 @@ The flag is one of the following symbols appended to the window name:
.It Sy "Symbol" Ta Sy "Meaning"
.It Li "*" Ta "Denotes the current window."
.It Li "-" Ta "Marks the last window (previously selected)."
-.It Li "#" Ta "Window is monitored and activity has been detected."
-.It Li "\&!" Ta "A bell has occurred in the window."
+.It Li "#" Ta "Window activity is monitored and activity has been detected."
+.It Li "\&!" Ta "Window bells are monitored and a bell has occurred in the window."
.It Li "~" Ta "The window has been silent for the monitor-silence interval."
.It Li "M" Ta "The window contains the marked pane."
.It Li "Z" Ta "The window's active pane is zoomed."