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,"", "send %s to the terminal via the pty layer."},