add spawn and termcmd
This commit is contained in:
11
dwl.c
11
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) {
|
||||
|
Reference in New Issue
Block a user