Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Call xsetenv() in main process instead of child
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
7c7ddff
..
668b312
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-60,7
+60,7
@@
char *argv0;
#define ISDELIM(u) (utf8strchr(worddelimiters, u) != NULL)
/* constants */
#define ISDELIM(u) (utf8strchr(worddelimiters, u) != NULL)
/* constants */
-#define ISO14755CMD "dmenu -w
%lu
-p codepoint: </dev/null"
+#define ISO14755CMD "dmenu -w
\"$WINDOWID\"
-p codepoint: </dev/null"
enum cursor_movement {
CURSOR_SAVE,
enum cursor_movement {
CURSOR_SAVE,
@@
-706,7
+706,6
@@
execsh(void)
setenv("SHELL", sh, 1);
setenv("HOME", pw->pw_dir, 1);
setenv("TERM", termname, 1);
setenv("SHELL", sh, 1);
setenv("HOME", pw->pw_dir, 1);
setenv("TERM", termname, 1);
- xsetenv();
signal(SIGCHLD, SIG_DFL);
signal(SIGHUP, SIG_DFL);
signal(SIGCHLD, SIG_DFL);
signal(SIGHUP, SIG_DFL);
@@
-1993,14
+1992,11
@@
tprinter(char *s, size_t len)
void
iso14755(const Arg *arg)
{
void
iso14755(const Arg *arg)
{
- unsigned long id = xwinid();
- char cmd[sizeof(ISO14755CMD) + NUMMAXLEN(id)];
FILE *p;
char *us, *e, codepoint[9], uc[UTF_SIZ];
unsigned long utf32;
FILE *p;
char *us, *e, codepoint[9], uc[UTF_SIZ];
unsigned long utf32;
- snprintf(cmd, sizeof(cmd), ISO14755CMD, id);
- if (!(p = popen(cmd, "r")))
+ if (!(p = popen(ISO14755CMD, "r")))
return;
us = fgets(codepoint, sizeof(codepoint), p);
return;
us = fgets(codepoint, sizeof(codepoint), p);