aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurélien Aptel <aurelien.aptel@gmail.com>2010-04-26 19:20:53 +0200
committerAurélien Aptel <aurelien.aptel@gmail.com>2010-04-26 19:20:53 +0200
commitd01c55c9ab58588d98239c515aa8db6443ae75ca (patch)
tree39669771cc74f2603f44f31b9d0ae2fa776cbe10
parentb3b7ffce5f1cb1d82aa26df976f0316d89d15d7f (diff)
downloadst-d01c55c9ab58588d98239c515aa8db6443ae75ca.tar.gz
st-d01c55c9ab58588d98239c515aa8db6443ae75ca.zip
use SHELL environment variable (thx Thomas Adam)
-rw-r--r--config.h1
-rwxr-xr-xst.c10
2 files changed, 6 insertions, 5 deletions
diff --git a/config.h b/config.h
index 185b3ff..0b0b36d 100644
--- a/config.h
+++ b/config.h
@@ -1,4 +1,3 @@
1#define SHELL "/bin/bash"
2#define TAB 8 1#define TAB 8
3 2
4#define FONT "6x13" 3#define FONT "6x13"
diff --git a/st.c b/st.c
index deb1610..ee79a33 100755
--- a/st.c
+++ b/st.c
@@ -208,9 +208,12 @@ die(const char *errstr, ...) {
208 208
209void 209void
210execsh(void) { 210execsh(void) {
211 char *args[3] = {SHELL, "-i", NULL}; 211 char *shell = getenv("SHELL");
212 if(!shell)
213 shell = "/bin/sh";
214 char *args[3] = {shell, "-i", NULL};
212 putenv("TERM=" TNAME); 215 putenv("TERM=" TNAME);
213 execvp(SHELL, args); 216 execvp(shell, args);
214} 217}
215 218
216void 219void
@@ -844,7 +847,6 @@ tputtab(void) {
844 847
845void 848void
846tputc(char c) { 849tputc(char c) {
847 /* dump(c); */
848 if(term.esc & ESC_START) { 850 if(term.esc & ESC_START) {
849 if(term.esc & ESC_CSI) { 851 if(term.esc & ESC_CSI) {
850 escseq.buf[escseq.len++] = c; 852 escseq.buf[escseq.len++] = c;
@@ -1277,7 +1279,7 @@ run(void) {
1277 } 1279 }
1278 if(FD_ISSET(cmdfd, &rfd)) { 1280 if(FD_ISSET(cmdfd, &rfd)) {
1279 ttyread(); 1281 ttyread();
1280 draw(SCREEN_UPDATE); 1282 draw(SCREEN_UPDATE);
1281 } 1283 }
1282 while(XPending(xw.dis)) { 1284 while(XPending(xw.dis)) {
1283 XNextEvent(xw.dis, &ev); 1285 XNextEvent(xw.dis, &ev);