summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@googlemail.com>2012-12-12 21:24:15 +0100
committerDavid Herrmann <dh.herrmann@googlemail.com>2012-12-12 21:24:15 +0100
commit24fe3f1911fe2b20995b71c77592e64224e8e935 (patch)
tree858d996669d82d2c1120234d4f779871343c4ebf /src
parentdd481c2fa64a93840d3429cc47ffc73fa8c9f9eb (diff)
kmscon: add --reset-env option
This option controls whether we reset the environment before spawning the PTY child. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Diffstat (limited to 'src')
-rw-r--r--src/kmscon_conf.c4
-rw-r--r--src/kmscon_conf.h2
-rw-r--r--src/kmscon_terminal.c2
3 files changed, 8 insertions, 0 deletions
diff --git a/src/kmscon_conf.c b/src/kmscon_conf.c
index 242a576..3cc7c0b 100644
--- a/src/kmscon_conf.c
+++ b/src/kmscon_conf.c
@@ -92,6 +92,9 @@ static void print_help()
"\t-t, --term <TERM> [xterm-256color]\n"
"\t Value of the TERM environment variable\n"
"\t for the child process\n"
+ "\t --reset-env [on]\n"
+ "\t Reset environment before running child\n"
+ "\t process\n"
"\t --palette <name> [default]\n"
"\t Select the used color palette\n"
"\t --sb-size <num> [1000]\n"
@@ -559,6 +562,7 @@ int kmscon_conf_new(struct conf_ctx **out)
/* Terminal Options */
CONF_OPTION(0, 'l', "login", &conf_login, aftercheck_login, NULL, file_login, &conf->login, false),
CONF_OPTION_STRING('t', "term", &conf->term, "xterm-256color"),
+ CONF_OPTION_BOOL(0, "reset-env", &conf->reset_env, true),
CONF_OPTION_STRING(0, "palette", &conf->palette, NULL),
CONF_OPTION_UINT(0, "sb-size", &conf->sb_size, 1000),
diff --git a/src/kmscon_conf.h b/src/kmscon_conf.h
index 71cc453..b18cc80 100644
--- a/src/kmscon_conf.h
+++ b/src/kmscon_conf.h
@@ -88,6 +88,8 @@ struct kmscon_conf_t {
char **argv;
/* TERM value */
char *term;
+ /* reset environment */
+ bool reset_env;
/* color palette */
char *palette;
/* terminal scroll-back buffer size */
diff --git a/src/kmscon_terminal.c b/src/kmscon_terminal.c
index d4652a9..7cf681e 100644
--- a/src/kmscon_terminal.c
+++ b/src/kmscon_terminal.c
@@ -539,6 +539,8 @@ int kmscon_terminal_register(struct kmscon_session **out,
if (ret)
goto err_vte;
+ kmscon_pty_set_env_reset(term->pty, term->conf->reset_env);
+
ret = kmscon_pty_set_term(term->pty, term->conf->term);
if (ret)
goto err_pty;