Revision: 2539 http://tmux.svn.sourceforge.net/tmux/?rev=2539&view=rev Author: tcunha Date: 2011-07-04 08:23:39 +0000 (Mon, 04 Jul 2011)
Log Message: ----------- Sync OpenBSD patchset 929: Add an option to trigger the terminal bell when there is an alert, from Marco Beck. Modified Paths: -------------- trunk/options-table.c trunk/server-window.c trunk/tmux.1 Modified: trunk/options-table.c =================================================================== --- trunk/options-table.c 2011-07-04 08:22:37 UTC (rev 2538) +++ trunk/options-table.c 2011-07-04 08:23:39 UTC (rev 2539) @@ -1,4 +1,4 @@ -/* $Id: options-table.c,v 1.12 2011-05-22 16:26:09 tcunha Exp $ */ +/* $Id$ */ /* * Copyright (c) 2011 Nicholas Marriott <n...@users.sourceforge.net> @@ -97,6 +97,11 @@ .default_num = BELL_ANY }, + { .name = "bell-on-alert", + .type = OPTIONS_TABLE_FLAG, + .default_num = 0 + }, + { .name = "default-command", .type = OPTIONS_TABLE_STRING, .default_str = "" Modified: trunk/server-window.c =================================================================== --- trunk/server-window.c 2011-07-04 08:22:37 UTC (rev 2538) +++ trunk/server-window.c 2011-07-04 08:23:39 UTC (rev 2539) @@ -1,4 +1,4 @@ -/* $Id: server-window.c,v 1.20 2011-02-15 15:20:38 tcunha Exp $ */ +/* $Id$ */ /* * Copyright (c) 2009 Nicholas Marriott <n...@users.sourceforge.net> @@ -28,6 +28,7 @@ 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 *); /* Window functions that need to happen every loop. */ void @@ -134,6 +135,8 @@ if (!options_get_number(&w->options, "monitor-activity")) return (0); + if (options_get_number(&s->options, "bell-on-alert")) + ring_bell(s); wl->flags |= WINLINK_ACTIVITY; if (options_get_number(&s->options, "visual-activity")) { @@ -183,6 +186,9 @@ timer_difference = timer.tv_sec - w->silence_timer.tv_sec; if (timer_difference <= silence_interval) return (0); + + if (options_get_number(&s->options, "bell-on-alert")) + ring_bell(s); wl->flags |= WINLINK_SILENCE; if (options_get_number(&s->options, "visual-silence")) { @@ -221,6 +227,8 @@ return (0); xfree(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")) { @@ -235,3 +243,17 @@ return (1); } + +/* Ring terminal bell. */ +void +ring_bell(struct session *s) +{ + struct client *c; + u_int i; + + for (i = 0; i < ARRAY_LENGTH(&clients); i++) { + c = ARRAY_ITEM(&clients, i); + if (c != NULL && c->session == s) + tty_putcode(&c->tty, TTYC_BEL); + } +} Modified: trunk/tmux.1 =================================================================== --- trunk/tmux.1 2011-07-04 08:22:37 UTC (rev 2538) +++ trunk/tmux.1 2011-07-04 08:23:39 UTC (rev 2539) @@ -1783,6 +1783,11 @@ means all bells are ignored and .Ic current means only bell in windows other than the current window are ignored. +.It Xo Ic bell-on-alert +.Op Ic on | off +.Xc +If on, ring the terminal bell when an activity, content or silence alert +occurs. .It Ic default-command Ar shell-command Set the command used for new windows (if not specified when the window is created) to This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ tmux-cvs mailing list tmux-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-cvs