From bd4e72743ca24c0c380c221a6bc7376da1911f7e Mon Sep 17 00:00:00 2001 From: dcc Date: Sat, 27 May 2023 21:45:28 -0700 Subject: first --- devour/devour.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 devour/devour.c (limited to 'devour/devour.c') diff --git a/devour/devour.c b/devour/devour.c new file mode 100755 index 0000000..39d7907 --- /dev/null +++ b/devour/devour.c @@ -0,0 +1,42 @@ +/* + * devour + * X11 window swallower + */ + +#include +#include +#include + +#define UNSAFE_CHARS "`\"'()[]& " + +void run_command(char **argv) { + char arg_char; + char *arg; + char cmd[1024] = {0}; + + while ((arg = *++argv)) { + while ((arg_char = *arg++)) { + if (strchr(UNSAFE_CHARS, arg_char)) + strcat(cmd, "\\"); + strncat(cmd, &arg_char, 1); + } + strcat(cmd, " "); + } + system(cmd); +} + +int main(int argc, char **argv) { + int rev; + Window win; + Display *dis = XOpenDisplay(0); + + XGetInputFocus(dis, &win, &rev); + XUnmapWindow(dis, win); + XFlush(dis); + run_command(argv); + XMapWindow(dis, win); + XCloseDisplay(dis); + + (void)argc; + return 0; +} -- cgit v1.2.3