Index: vte.c
===================================================================
--- vte.c	(revision 2048)
+++ vte.c	(working copy)
@@ -140,6 +140,7 @@
 static GList *active_terminals;
 static GTimer *process_timer;
 
+
 /* process incoming data without copying */
 static struct _vte_incoming_chunk *free_chunks;
 G_LOCK_DEFINE_STATIC(free_chunks);
@@ -10502,6 +10503,7 @@
 	klass->copy_clipboard = vte_terminal_real_copy_clipboard;
 	klass->paste_clipboard = vte_terminal_real_paste_clipboard;
 
+	klass->beep = NULL;
 
 	/* Register some signals of our own. */
 	klass->eof_signal =
@@ -10747,6 +10749,15 @@
 			     NULL,
 			     _vte_marshal_VOID__INT,
 			     G_TYPE_NONE, 1, G_TYPE_INT);
+	klass->beep_signal =
+		g_signal_new("beep",
+			     G_OBJECT_CLASS_TYPE(klass),
+			     G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+			     G_STRUCT_OFFSET(VteTerminalClass, beep),
+			     NULL,
+			     NULL,
+			     _vte_marshal_VOID__VOID,
+			     G_TYPE_NONE, 0);
 	signals[COPY_CLIPBOARD] =
 		g_signal_new("copy-clipboard",
 			     G_OBJECT_CLASS_TYPE(klass),
@@ -10766,7 +10777,7 @@
 			     NULL,
 			     _vte_marshal_VOID__VOID,
 			     G_TYPE_NONE, 0);
-
+			     
 	/* Bind Copy, Paste, Cut keys */
 	binding_set = gtk_binding_set_by_class(klass);
 	gtk_binding_entry_add_signal(binding_set, GDK_F16, 0, "copy-clipboard",0);
Index: vte.h
===================================================================
--- vte.h	(revision 2048)
+++ vte.h	(working copy)
@@ -94,8 +94,9 @@
 	void (*copy_clipboard)(VteTerminal* terminal);
 	void (*paste_clipboard)(VteTerminal* terminal);
 
+	void (*beep)(VteTerminal* terminal);
+
 	/* Padding for future expansion. */
-	void (*vte_reserved1)(void);
 	void (*vte_reserved2)(void);
 	void (*vte_reserved3)(void);
 	void (*vte_reserved4)(void);
@@ -133,7 +134,8 @@
 	guint text_deleted_signal;
 	guint text_scrolled_signal;
 
-	guint reserved1;
+	guint beep_signal;
+
 	guint reserved2;
 	guint reserved3;
 	guint reserved4;
Index: vteseq.c
===================================================================
--- vteseq.c	(revision 2048)
+++ vteseq.c	(working copy)
@@ -971,6 +971,8 @@
 		/* Visual bell. */
 		vte_sequence_handler_vb(terminal, match, match_quark, params);
 	}
+	g_signal_emit(terminal, klass->beep_signal, 0);
+
 	return FALSE;
 }
 
