Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
use SHELL environment variable (thx Thomas Adam)
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
deb1610
..
ee79a33
100755
(executable)
--- a/
st.c
+++ b/
st.c
@@
-208,9
+208,12
@@
die(const char *errstr, ...) {
void
execsh(void) {
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);
putenv("TERM=" TNAME);
- execvp(
SHELL
, args);
+ execvp(
shell
, args);
}
void
}
void
@@
-844,7
+847,6
@@
tputtab(void) {
void
tputc(char c) {
void
tputc(char c) {
- /* dump(c); */
if(term.esc & ESC_START) {
if(term.esc & ESC_CSI) {
escseq.buf[escseq.len++] = c;
if(term.esc & ESC_START) {
if(term.esc & ESC_CSI) {
escseq.buf[escseq.len++] = c;
@@
-1277,7
+1279,7
@@
run(void) {
}
if(FD_ISSET(cmdfd, &rfd)) {
ttyread();
}
if(FD_ISSET(cmdfd, &rfd)) {
ttyread();
- draw(SCREEN_UPDATE);
+ draw(SCREEN_UPDATE);
}
while(XPending(xw.dis)) {
XNextEvent(xw.dis, &ev);
}
while(XPending(xw.dis)) {
XNextEvent(xw.dis, &ev);