summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-08-13 17:26:47 -0400
committermidipix <writeonce@midipix.org>2016-08-14 07:49:25 -0400
commitfd0f9bfc4a2287f34924370240e313042c0b17d8 (patch)
tree8c2fa41a0c795649a296139cee10afb89619acd6
parent5e84dc1302cde351c49f75bb62eb211144601362 (diff)
downloadptycon-fd0f9bfc4a2287f34924370240e313042c0b17d8.tar.bz2
ptycon-fd0f9bfc4a2287f34924370240e313042c0b17d8.tar.xz
driver: added --bell support.
-rw-r--r--include/ptycon/ptycon.h1
-rw-r--r--src/driver/ptyc_driver_ctx.c5
-rw-r--r--src/internal/ptycon_driver_impl.h1
-rw-r--r--src/skin/ptyc_skin_default.c3
4 files changed, 10 insertions, 0 deletions
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."},