Remove the monitor-content option and associated bits and bobs. It's

never worked very well. If there is a big demand for it to return, will
consider better ways to do it.
This commit is contained in:
nicm 2014-04-17 07:36:45 +00:00
parent 5acee1c04e
commit 992ef70fb6
7 changed files with 8 additions and 125 deletions

View File

@ -487,8 +487,6 @@ format_winlink(struct format_tree *ft, struct session *s, struct winlink *wl)
format_add(ft, "window_bell_flag", "%u", format_add(ft, "window_bell_flag", "%u",
!!(wl->flags & WINLINK_BELL)); !!(wl->flags & WINLINK_BELL));
format_add(ft, "window_content_flag", "%u",
!!(wl->flags & WINLINK_CONTENT));
format_add(ft, "window_activity_flag", "%u", format_add(ft, "window_activity_flag", "%u",
!!(wl->flags & WINLINK_ACTIVITY)); !!(wl->flags & WINLINK_ACTIVITY));
format_add(ft, "window_silence_flag", "%u", format_add(ft, "window_silence_flag", "%u",

View File

@ -491,11 +491,6 @@ const struct options_table_entry session_options_table[] = {
.default_num = 0 .default_num = 0
}, },
{ .name = "visual-content",
.type = OPTIONS_TABLE_FLAG,
.default_num = 0
},
{ .name = "visual-silence", { .name = "visual-silence",
.type = OPTIONS_TABLE_FLAG, .type = OPTIONS_TABLE_FLAG,
.default_num = 0 .default_num = 0
@ -629,11 +624,6 @@ const struct options_table_entry window_options_table[] = {
.default_num = 0 .default_num = 0
}, },
{ .name = "monitor-content",
.type = OPTIONS_TABLE_STRING,
.default_str = ""
},
{ .name = "monitor-silence", { .name = "monitor-silence",
.type = OPTIONS_TABLE_NUMBER, .type = OPTIONS_TABLE_NUMBER,
.minimum = 0, .minimum = 0,
@ -735,29 +725,6 @@ const struct options_table_entry window_options_table[] = {
.style = "window-status-style" .style = "window-status-style"
}, },
{ .name = "window-status-content-attr",
.type = OPTIONS_TABLE_ATTRIBUTES,
.default_num = GRID_ATTR_REVERSE,
.style = "window-status-content-style"
},
{ .name = "window-status-content-bg",
.type = OPTIONS_TABLE_COLOUR,
.default_num = 8,
.style = "window-status-content-style"
},
{ .name = "window-status-content-fg",
.type = OPTIONS_TABLE_COLOUR,
.default_num = 8,
.style = "window-status-content-style"
},
{ .name = "window-status-content-style",
.type = OPTIONS_TABLE_STYLE,
.default_str = "reverse"
},
{ .name = "window-status-current-attr", { .name = "window-status-current-attr",
.type = OPTIONS_TABLE_ATTRIBUTES, .type = OPTIONS_TABLE_ATTRIBUTES,
.default_num = 0, .default_num = 0,

View File

@ -27,19 +27,16 @@
int server_window_check_bell(struct session *, struct winlink *); int server_window_check_bell(struct session *, struct winlink *);
int server_window_check_activity(struct session *, struct winlink *); int server_window_check_activity(struct session *, struct winlink *);
int server_window_check_silence(struct session *, struct winlink *); int server_window_check_silence(struct session *, struct winlink *);
int server_window_check_content(
struct session *, struct winlink *, struct window_pane *);
void ring_bell(struct session *); void ring_bell(struct session *);
/* Window functions that need to happen every loop. */ /* Window functions that need to happen every loop. */
void void
server_window_loop(void) server_window_loop(void)
{ {
struct window *w; struct window *w;
struct winlink *wl; struct winlink *wl;
struct window_pane *wp; struct session *s;
struct session *s; u_int i;
u_int i;
for (i = 0; i < ARRAY_LENGTH(&windows); i++) { for (i = 0; i < ARRAY_LENGTH(&windows); i++) {
w = ARRAY_ITEM(&windows, i); w = ARRAY_ITEM(&windows, i);
@ -55,8 +52,6 @@ server_window_loop(void)
server_window_check_activity(s, wl) || server_window_check_activity(s, wl) ||
server_window_check_silence(s, wl)) server_window_check_silence(s, wl))
server_status_session(s); server_status_session(s);
TAILQ_FOREACH(wp, &w->panes, entry)
server_window_check_content(s, wl, wp);
} }
} }
} }
@ -187,48 +182,6 @@ server_window_check_silence(struct session *s, struct winlink *wl)
return (1); return (1);
} }
/* Check for content change in window. */
int
server_window_check_content(
struct session *s, struct winlink *wl, struct window_pane *wp)
{
struct client *c;
struct window *w = wl->window;
u_int i;
char *found, *ptr;
/* Activity flag must be set for new content. */
if (s->curw->window == w)
w->flags &= ~WINDOW_ACTIVITY;
if (!(w->flags & WINDOW_ACTIVITY) || wl->flags & WINLINK_CONTENT)
return (0);
if (s->curw == wl && !(s->flags & SESSION_UNATTACHED))
return (0);
ptr = options_get_string(&w->options, "monitor-content");
if (ptr == NULL || *ptr == '\0')
return (0);
if ((found = window_pane_search(wp, ptr, NULL)) == NULL)
return (0);
free(found);
if (options_get_number(&s->options, "bell-on-alert"))
ring_bell(s);
wl->flags |= WINLINK_CONTENT;
if (options_get_number(&s->options, "visual-content")) {
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
c = ARRAY_ITEM(&clients, i);
if (c == NULL || c->session != s)
continue;
status_message_set(c, "Content in window %u", wl->idx);
}
}
return (1);
}
/* Ring terminal bell. */ /* Ring terminal bell. */
void void
ring_bell(struct session *s) ring_bell(struct session *s)

View File

@ -638,8 +638,6 @@ status_print(
if (wl->flags & WINLINK_BELL) if (wl->flags & WINLINK_BELL)
style_apply_update(gc, oo, "window-status-bell-style"); style_apply_update(gc, oo, "window-status-bell-style");
else if (wl->flags & WINLINK_CONTENT)
style_apply_update(gc, oo, "window-status-content-style");
else if (wl->flags & (WINLINK_ACTIVITY|WINLINK_SILENCE)) else if (wl->flags & (WINLINK_ACTIVITY|WINLINK_SILENCE))
style_apply_update(gc, oo, "window-status-activity-style"); style_apply_update(gc, oo, "window-status-activity-style");

33
tmux.1
View File

@ -2644,15 +2644,6 @@ through to the terminal (which normally makes a sound).
Also see the Also see the
.Ic bell-action .Ic bell-action
option. option.
.It Xo Ic visual-content
.Op Ic on | off
.Xc
Like
.Ic visual-activity ,
display a message when content is present in a window
for which the
.Ic monitor-content
window option is enabled.
.It Xo Ic visual-silence .It Xo Ic visual-silence
.Op Ic on | off .Op Ic on | off
.Xc .Xc
@ -2834,14 +2825,6 @@ option.
Monitor for activity in the window. Monitor for activity in the window.
Windows with activity are highlighted in the status line. Windows with activity are highlighted in the status line.
.Pp .Pp
.It Ic monitor-content Ar match-string
Monitor content in the window.
When
.Xr fnmatch 3
pattern
.Ar match-string
appears in the window, it is highlighted in the status line.
.Pp
.It Xo Ic monitor-silence .It Xo Ic monitor-silence
.Op Ic interval .Op Ic interval
.Xc .Xc
@ -2914,14 +2897,6 @@ see the
.Ic message-command-style .Ic message-command-style
option. option.
.Pp .Pp
.It Ic window-status-content-style Ar style
Set status line style for windows with a content alert.
For how to specify
.Ar style ,
see the
.Ic message-command-style
option.
.Pp
.It Ic window-status-current-format Ar string .It Ic window-status-current-format Ar string
Like Like
.Ar window-status-format , .Ar window-status-format ,
@ -3124,7 +3099,6 @@ The following variables are available, where appropriate:
.It Li "window_active" Ta "" Ta "1 if window active" .It Li "window_active" Ta "" Ta "1 if window active"
.It Li "window_activity_flag" Ta "" Ta "1 if window has activity alert" .It Li "window_activity_flag" Ta "" Ta "1 if window has activity alert"
.It Li "window_bell_flag" Ta "" Ta "1 if window has bell" .It Li "window_bell_flag" Ta "" Ta "1 if window has bell"
.It Li "window_content_flag" Ta "" Ta "1 if window has content alert"
.It Li "window_find_matches" Ta "" Ta "Matched data from the find-window" .It Li "window_find_matches" Ta "" Ta "Matched data from the find-window"
.It Li "window_flags" Ta "#F" Ta "Window flags" .It Li "window_flags" Ta "#F" Ta "Window flags"
.It Li "window_height" Ta "" Ta "Height of window" .It Li "window_height" Ta "" Ta "Height of window"
@ -3286,18 +3260,15 @@ The flag is one of the following symbols appended to the window name:
.It Li "-" Ta "Marks the last window (previously selected)." .It Li "-" Ta "Marks the last window (previously selected)."
.It Li "#" Ta "Window is monitored and activity has been detected." .It Li "#" Ta "Window is monitored and activity has been detected."
.It Li "!" Ta "A bell has occurred in the window." .It Li "!" Ta "A bell has occurred in the window."
.It Li "+" Ta "Window is monitored for content and it has appeared."
.It Li "~" Ta "The window has been silent for the monitor-silence interval." .It Li "~" Ta "The window has been silent for the monitor-silence interval."
.It Li "Z" Ta "The window's active pane is zoomed." .It Li "Z" Ta "The window's active pane is zoomed."
.El .El
.Pp .Pp
The # symbol relates to the The # symbol relates to the
.Ic monitor-activity .Ic monitor-activity
and + to the window option.
.Ic monitor-content
window options.
The window name is printed in inverted colours if an alert (bell, activity or The window name is printed in inverted colours if an alert (bell, activity or
content) is present. silence) is present.
.Pp .Pp
The colour and attributes of the status line may be configured, the entire The colour and attributes of the status line may be configured, the entire
status line using the status line using the

6
tmux.h
View File

@ -990,10 +990,8 @@ struct winlink {
int flags; int flags;
#define WINLINK_BELL 0x1 #define WINLINK_BELL 0x1
#define WINLINK_ACTIVITY 0x2 #define WINLINK_ACTIVITY 0x2
#define WINLINK_CONTENT 0x4 #define WINLINK_SILENCE 0x4
#define WINLINK_SILENCE 0x8 #define WINLINK_ALERTFLAGS (WINLINK_BELL|WINLINK_ACTIVITY|WINLINK_SILENCE)
#define WINLINK_ALERTFLAGS \
(WINLINK_BELL|WINLINK_ACTIVITY|WINLINK_CONTENT|WINLINK_SILENCE)
RB_ENTRY(winlink) entry; RB_ENTRY(winlink) entry;
TAILQ_ENTRY(winlink) sentry; TAILQ_ENTRY(winlink) sentry;

View File

@ -699,8 +699,6 @@ window_printable_flags(struct session *s, struct winlink *wl)
flags[pos++] = '#'; flags[pos++] = '#';
if (wl->flags & WINLINK_BELL) if (wl->flags & WINLINK_BELL)
flags[pos++] = '!'; flags[pos++] = '!';
if (wl->flags & WINLINK_CONTENT)
flags[pos++] = '+';
if (wl->flags & WINLINK_SILENCE) if (wl->flags & WINLINK_SILENCE)
flags[pos++] = '~'; flags[pos++] = '~';
if (wl == s->curw) if (wl == s->curw)