From 5015474dcae6e38201652c7b4d27154289ab2895 Mon Sep 17 00:00:00 2001 From: ansxor Date: Sat, 18 Nov 2023 08:29:52 -0500 Subject: [PATCH 1/2] added eval env variable :3 --- src/tty.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/tty.c b/src/tty.c index c063a44..87d0b11 100644 --- a/src/tty.c +++ b/src/tty.c @@ -30,6 +30,10 @@ #include "tty.h" #include "ctlseqs.h" #include "settings.h" + +// this is probably most likely always going to be "-c" but just in case.. +#define SHELL_EVAL_FLAG "-c" + void sleep_forever(bool hangup); // nnn where do these decs go... static Fd master_fd; @@ -75,6 +79,7 @@ static void execsh(void) { setenv("LOGNAME", pw->pw_name, true); setenv("USER", pw->pw_name, true); setenv("SHELL", sh, true); + setenv("EDITOR", "emacs", true); setenv("HOME", pw->pw_dir, true); setenv("TERM", settings.termName, true); setenv("TERMCAP", "xterm-256color", true); @@ -85,8 +90,14 @@ static void execsh(void) { signal(SIGQUIT, SIG_DFL); signal(SIGTERM, SIG_DFL); signal(SIGALRM, SIG_DFL); - - execvp(sh, (char*[]){sh, NULL}); + + char* eval = getenv("LAUNCH_12TERM"); + + if (eval == NULL) { + execvp(sh, (char*[]){sh, NULL}); + } else { + execvp(sh, (char*[]){sh, SHELL_EVAL_FLAG, eval, NULL}); + } } // I don't use openbsd so I can't confirm whether these pledge calls are correct. From 6e5ad49375b5e60ba8dbecf1efc13ae02203fc27 Mon Sep 17 00:00:00 2001 From: ansxor Date: Sat, 18 Nov 2023 08:35:36 -0500 Subject: [PATCH 2/2] why did i add EDITOR... --- src/tty.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tty.c b/src/tty.c index 87d0b11..f23379b 100644 --- a/src/tty.c +++ b/src/tty.c @@ -79,7 +79,6 @@ static void execsh(void) { setenv("LOGNAME", pw->pw_name, true); setenv("USER", pw->pw_name, true); setenv("SHELL", sh, true); - setenv("EDITOR", "emacs", true); setenv("HOME", pw->pw_dir, true); setenv("TERM", settings.termName, true); setenv("TERMCAP", "xterm-256color", true);