summaryrefslogtreecommitdiff
path: root/oldresources/st/patch/rightclicktoplumb_x.c
diff options
context:
space:
mode:
authorauric <auric7@protonmail.com>2025-09-07 20:17:07 -0500
committerauric <auric7@protonmail.com>2025-09-07 20:17:07 -0500
commit22d02614eaa4530092d564336b3e7076c9f0bc36 (patch)
tree947fd56ed33fedb80c14dab7adab0dc71760540b /oldresources/st/patch/rightclicktoplumb_x.c
parent7de2c2044596ef810045e4565916e18903d822c1 (diff)
1
Diffstat (limited to 'oldresources/st/patch/rightclicktoplumb_x.c')
-rw-r--r--oldresources/st/patch/rightclicktoplumb_x.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/oldresources/st/patch/rightclicktoplumb_x.c b/oldresources/st/patch/rightclicktoplumb_x.c
new file mode 100644
index 0000000..1b9b2bc
--- /dev/null
+++ b/oldresources/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