St Externalpipe on OpenBSD

Pub:
Tag: OpenBSD

I spent the better half of an evening trying to figure out why the externalpipe patch on the suckless terminal (st) wasn’t working under OpenBSD. Turns out it was a simple one line fix:

#ifdef __OpenBSD__
		-if (pledge("stdio rpath tty proc", NULL) == -1)
		+if (pledge("stdio rpath tty proc exec", NULL) == -1)
			die("pledge\n");
#endif
		close(s);
adding “exec” allows externalpipe to cut through pledge and deliver the contents of the terminal to the st-urlhandler script used in LARBS. I might make a pull request of this at some point, but hopefully this quick little post helps!