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

Reply via email to