tuse SHELL environment variable (thx Thomas Adam) - st - [fork] customized build of st, the simple terminal
(HTM) git clone git://src.adamsgaard.dk/st
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit d01c55c9ab58588d98239c515aa8db6443ae75ca
(DIR) parent b3b7ffce5f1cb1d82aa26df976f0316d89d15d7f
(HTM) Author: Aurélien Aptel <aurelien.aptel@gmail.com>
Date: Mon, 26 Apr 2010 19:20:53 +0200
use SHELL environment variable (thx Thomas Adam)
Diffstat:
M config.h | 1 -
M st.c | 10 ++++++----
2 files changed, 6 insertions(+), 5 deletions(-)
---
(DIR) diff --git a/config.h b/config.h
t@@ -1,4 +1,3 @@
-#define SHELL "/bin/bash"
#define TAB 8
#define FONT "6x13"
(DIR) diff --git a/st.c b/st.c
t@@ -208,9 +208,12 @@ die(const char *errstr, ...) {
void
execsh(void) {
- char *args[3] = {SHELL, "-i", NULL};
+ char *shell = getenv("SHELL");
+ if(!shell)
+ shell = "/bin/sh";
+ char *args[3] = {shell, "-i", NULL};
putenv("TERM=" TNAME);
- execvp(SHELL, args);
+ execvp(shell, args);
}
void
t@@ -844,7 +847,6 @@ tputtab(void) {
void
tputc(char c) {
- /* dump(c); */
if(term.esc & ESC_START) {
if(term.esc & ESC_CSI) {
escseq.buf[escseq.len++] = c;
t@@ -1277,7 +1279,7 @@ run(void) {
}
if(FD_ISSET(cmdfd, &rfd)) {
ttyread();
- draw(SCREEN_UPDATE);
+ draw(SCREEN_UPDATE);
}
while(XPending(xw.dis)) {
XNextEvent(xw.dis, &ev);