From bc9049a11b9bb667e2161d8e237ca01b3d0d98f1 Mon Sep 17 00:00:00 2001 From: "Devin J. Pohly" Date: Sun, 12 Apr 2020 00:58:38 -0500 Subject: add spawn and termcmd --- dwl.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'dwl.c') diff --git a/dwl.c b/dwl.c index 627f968..3f74b8b 100644 --- a/dwl.c +++ b/dwl.c @@ -125,6 +125,7 @@ static void focusnext(struct dwl_server *, const Arg *); static void movemouse(struct dwl_server *, const Arg *); static void quit(struct dwl_server *, const Arg *); static void resizemouse(struct dwl_server *, const Arg *); +static void spawn(struct dwl_server *, const Arg *); #include "config.h" @@ -187,6 +188,16 @@ static void quit(struct dwl_server *server, const Arg *unused) { wl_display_terminate(server->wl_display); } +static void spawn(struct dwl_server *server, const Arg *arg) { + if (fork() == 0) { + setsid(); + execvp(((char **)arg->v)[0], (char **)arg->v); + fprintf(stderr, "dwl: execvp %s", ((char **)arg->v)[0]); + perror(" failed"); + exit(EXIT_FAILURE); + } +} + static void focusnext(struct dwl_server *server, const Arg *unused) { /* Cycle to the next view */ if (wl_list_length(&server->views) < 2) { -- cgit v1.2.3