mirror of
https://github.com/mintycube/st.git
synced 2024-10-22 14:05:49 +02:00
Fix externalpipein patch (#78)
* fix externalpipein patch don't close the slave fd, according to the original patch in https://lists.suckless.org/hackers/2004/17218.html * externalpipein patch: add example command press S-C-M to set the terminal background green dynamically. Replace `printf ...` with `dynamic-colors cycle` command mentioned in https://lists.suckless.org/hackers/2004/17218.html to cycle though the available dynamic color themes.
This commit is contained in:
parent
bcfa5b9b7f
commit
427895a7c2
@ -389,6 +389,12 @@ static MouseShortcut maltshortcuts[] = {
|
||||
static char *openurlcmd[] = { "/bin/sh", "-c",
|
||||
"xurls | dmenu -l 10 -w $WINDOWID | xargs -r open",
|
||||
"externalpipe", NULL };
|
||||
|
||||
#if EXTERNALPIPEIN_PATCH // example command
|
||||
static char *setbgcolorcmd[] = { "/bin/sh", "-c",
|
||||
"printf '\033]11;#008000\007'",
|
||||
"externalpipein", NULL };
|
||||
#endif // EXTERNALPIPEIN_PATCH
|
||||
#endif // EXTERNALPIPE_PATCH
|
||||
|
||||
static Shortcut shortcuts[] = {
|
||||
@ -425,6 +431,9 @@ static Shortcut shortcuts[] = {
|
||||
#endif // NEWTERM_PATCH
|
||||
#if EXTERNALPIPE_PATCH
|
||||
{ TERMMOD, XK_U, externalpipe, { .v = openurlcmd } },
|
||||
#if EXTERNALPIPEIN_PATCH
|
||||
{ TERMMOD, XK_M, externalpipein, { .v = setbgcolorcmd } },
|
||||
#endif // EXTERNALPIPEIN_PATCH
|
||||
#endif // EXTERNALPIPE_PATCH
|
||||
#if KEYBOARDSELECT_PATCH
|
||||
{ TERMMOD, XK_Escape, keyboard_select, { 0 } },
|
||||
|
5
st.c
5
st.c
@ -1090,15 +1090,16 @@ ttynew(const char *line, char *cmd, const char *out, char **args)
|
||||
#endif // RIGHTCLICKTOPLUMB_PATCH
|
||||
die("pledge\n");
|
||||
#endif
|
||||
close(s);
|
||||
cmdfd = m;
|
||||
#if EXTERNALPIPEIN_PATCH && EXTERNALPIPE_PATCH
|
||||
csdfd = s;
|
||||
cmdfd = m;
|
||||
memset(&sa, 0, sizeof(sa));
|
||||
sigemptyset(&sa.sa_mask);
|
||||
sa.sa_handler = sigchld;
|
||||
sigaction(SIGCHLD, &sa, NULL);
|
||||
#else
|
||||
close(s);
|
||||
cmdfd = m;
|
||||
signal(SIGCHLD, sigchld);
|
||||
#endif // EXTERNALPIPEIN_PATCH
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user