From fd0f9bfc4a2287f34924370240e313042c0b17d8 Mon Sep 17 00:00:00 2001
From: midipix <writeonce@midipix.org>
Date: Sat, 13 Aug 2016 17:26:47 -0400
Subject: driver: added --bell support.

---
 include/ptycon/ptycon.h           | 1 +
 src/driver/ptyc_driver_ctx.c      | 5 +++++
 src/internal/ptycon_driver_impl.h | 1 +
 src/skin/ptyc_skin_default.c      | 3 +++
 4 files changed, 10 insertions(+)

diff --git a/include/ptycon/ptycon.h b/include/ptycon/ptycon.h
index d878d73..19c2513 100644
--- a/include/ptycon/ptycon.h
+++ b/include/ptycon/ptycon.h
@@ -40,6 +40,7 @@ extern "C" {
 #define PTYC_DRIVER_CLONE_VECTOR	0x0008
 
 #define PTYC_DRIVER_VERSION		0x0010
+#define PTYC_DRIVER_BELL		0x0020
 #define PTYC_DRIVER_DBG_EVENT		0x0100
 #define PTYC_DRIVER_DBG_OVEN		0x0200
 #define PTYC_DRIVER_DBG_RAW		0x0400
diff --git a/src/driver/ptyc_driver_ctx.c b/src/driver/ptyc_driver_ctx.c
index b7cdc88..5f99a8a 100644
--- a/src/driver/ptyc_driver_ctx.c
+++ b/src/driver/ptyc_driver_ctx.c
@@ -293,6 +293,11 @@ int ptyc_get_driver_ctx(
 
 					break;
 
+				case TAG_BELL:
+					if ((!entry->arg) || !strcmp("on",entry->arg))
+						cctx.drvflags |= PTYC_DRIVER_BELL;
+					break;
+
 				case TAG_CAT:
 					nunits++;
 					break;
diff --git a/src/internal/ptycon_driver_impl.h b/src/internal/ptycon_driver_impl.h
index 8386460..438c178 100644
--- a/src/internal/ptycon_driver_impl.h
+++ b/src/internal/ptycon_driver_impl.h
@@ -27,6 +27,7 @@ enum app_tags {
 	TAG_DAEMON,
 	TAG_DEBUG,
 	TAG_SYSROOT,
+	TAG_BELL,
 	TAG_CAT,
 	TAG_EXEC,
 	TAG_WAIT,
diff --git a/src/skin/ptyc_skin_default.c b/src/skin/ptyc_skin_default.c
index b558fff..1f3c7b5 100644
--- a/src/skin/ptyc_skin_default.c
+++ b/src/skin/ptyc_skin_default.c
@@ -35,6 +35,9 @@ const struct argv_option ptyc_default_options[] = {
 				"events; oven|raw: start a pseudo client using a pty handle "
 				"in [cooked|raw] mode. default is 'event'."},
 
+	{"bell",		0,TAG_BELL,ARGV_OPTARG_OPTIONAL,0,"on|off",0,
+				"turn bell %s."},
+
 	{"cat",			'c',TAG_CAT,ARGV_OPTARG_REQUIRED,0,0,"<file>",
 				"send %s to the terminal via the pty layer."},
 
-- 
cgit v1.2.3