summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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."},