summaryrefslogtreecommitdiff
path: root/archive/st/patch/rightclicktoplumb_x.c
diff options
context:
space:
mode:
authorauric <auric7@protonmail.com>2025-09-08 21:27:55 -0500
committerauric <auric7@protonmail.com>2025-09-08 21:27:55 -0500
commitde07b49b3249da05605f8c802b991a8588ab63b3 (patch)
tree295d6003f08dfce1d1b779892ce9c0be97d426a3 /archive/st/patch/rightclicktoplumb_x.c
parent04cfeeb799b4ee6ac990e5d6e1b5302251133d77 (diff)
parente61da07522a060da98fa3a56db3d0360469b26cf (diff)
Resolved conflict, indulging new file layout
Diffstat (limited to 'archive/st/patch/rightclicktoplumb_x.c')
-rw-r--r--archive/st/patch/rightclicktoplumb_x.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/archive/st/patch/rightclicktoplumb_x.c b/archive/st/patch/rightclicktoplumb_x.c
new file mode 100644
index 0000000..1b9b2bc
--- /dev/null
+++ b/archive/st/patch/rightclicktoplumb_x.c
@@ -0,0 +1,24 @@
+#include <sys/wait.h>
+
+void
+plumb(char *sel) {
+ if (sel == NULL)
+ return;
+ char cwd[PATH_MAX];
+ pid_t child;
+ if (subprocwd(cwd) != 0)
+ return;
+
+ switch(child = fork()) {
+ case -1:
+ return;
+ case 0:
+ if (chdir(cwd) != 0)
+ exit(1);
+ if (execvp(plumb_cmd, (char *const []){plumb_cmd, sel, 0}) == -1)
+ exit(1);
+ exit(0);
+ default:
+ waitpid(child, NULL, 0);
+ }
+} \ No newline at end of file