#include "strv.h"
static bool arg_quiet = false;
+static bool arg_read_only = false;
static char *arg_background = NULL;
static char *arg_title = NULL;
" -h --help Show this help\n"
" --version Print version\n"
" -q --quiet Suppress information messages during runtime\n"
+ " --read-only Do not accept any user input on stdin\n"
" --background=COLOR Set ANSI color for background\n"
" --title=TITLE Set terminal title\n"
"\nSee the %2$s for details.\n",
static int parse_argv(int argc, char *argv[]) {
enum {
ARG_VERSION = 0x100,
+ ARG_READ_ONLY,
ARG_BACKGROUND,
ARG_TITLE,
};
{ "help", no_argument, NULL, 'h' },
{ "version", no_argument, NULL, ARG_VERSION },
{ "quiet", no_argument, NULL, 'q' },
+ { "read-only", no_argument, NULL, ARG_READ_ONLY },
{ "background", required_argument, NULL, ARG_BACKGROUND },
{ "title", required_argument, NULL, ARG_TITLE },
{}
arg_quiet = true;
break;
+ case ARG_READ_ONLY:
+ arg_read_only = true;
+ break;
+
case ARG_BACKGROUND:
r = free_and_strdup_warn(&arg_background, optarg);
if (r < 0)
if (!arg_quiet)
log_info("Press ^] three times within 1s to disconnect TTY.");
- r = pty_forward_new(event, pty_fd, /*flags=*/ 0, &forward);
+ r = pty_forward_new(event, pty_fd, arg_read_only ? PTY_FORWARD_READ_ONLY : 0, &forward);
if (r < 0)
return log_error_errno(r, "Failed to create PTY forwarder: %m");