summaryrefslogtreecommitdiff
path: root/archive/st/patch/rightclicktoplumb_x.c
diff options
context:
space:
mode:
authorauric <104602845+ihateamongus@users.noreply.github.com>2025-09-08 21:19:14 -0500
committerauric <104602845+ihateamongus@users.noreply.github.com>2025-09-08 21:19:14 -0500
commite61da07522a060da98fa3a56db3d0360469b26cf (patch)
treec72d276bffa4dafe22ae0e4f694acfadb40b8ca1 /archive/st/patch/rightclicktoplumb_x.c
parentd11aec86841f77edd6eba3e07aa1e7e591e9da2a (diff)
organize repository 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