diff options
author | Luke Smith <luke@lukesmith.xyz> | 2023-02-28 18:25:53 -0500 |
---|---|---|
committer | Luke Smith <luke@lukesmith.xyz> | 2023-02-28 18:25:53 -0500 |
commit | 2cfa02d9b350df0957d68037586915917978f2a7 (patch) | |
tree | ed2130c6b002ca81fe84c302e6945510c473413c | |
parent | 787a8bc10df9e229b5f34f998bfab0556c4a6ec4 (diff) |
revert 712d6639ff8e863560328131bbb92b248dc9cde7
-rw-r--r-- | config.h | 2 | ||||
-rw-r--r-- | dwm.c | 20 |
2 files changed, 12 insertions, 10 deletions
@@ -245,7 +245,7 @@ static const Key keys[] = { { MODKEY, XK_F5, xrdb, {.v = NULL } }, { MODKEY, XK_F6, spawn, {.v = (const char*[]){ "torwrap", NULL } } }, { MODKEY, XK_F7, spawn, {.v = (const char*[]){ "td-toggle", NULL } } }, - { MODKEY, XK_F8, spawn, {.v = (const char*[]){ "mw", "-Y", NULL } } }, + { MODKEY, XK_F8, spawn, {.v = (const char*[]){ "mailsync", NULL } } }, { MODKEY, XK_F9, spawn, {.v = (const char*[]){ "mounter", NULL } } }, { MODKEY, XK_F10, spawn, {.v = (const char*[]){ "unmounter", NULL } } }, { MODKEY, XK_F11, spawn, SHCMD("mpv --untimed --no-cache --no-osc --no-input-default-bindings --profile=low-latency --input-conf=/dev/null --title=webcam $(ls /dev/video[0,2,4,6,8] | tail -n 1)") }, @@ -259,6 +259,7 @@ static void setmfact(const Arg *arg); static void setup(void); static void seturgent(Client *c, int urg); static void showhide(Client *c); +static void sigchld(int unused); #ifndef __OpenBSD__ static int getdwmblockspid(); static void sigdwmblocks(const Arg *arg); @@ -1855,16 +1856,9 @@ setup(void) int i; XSetWindowAttributes wa; Atom utf8string; - struct sigaction sa; - /* do not transform children into zombies when they terminate */ - sigemptyset(&sa.sa_mask); - sa.sa_flags = SA_NOCLDSTOP | SA_NOCLDWAIT | SA_RESTART; - sa.sa_handler = SIG_IGN; - sigaction(SIGCHLD, &sa, NULL); - - /* clean up any zombies (inherited from .xinitrc etc) immediately */ - while (waitpid(-1, NULL, WNOHANG) > 0); + /* clean up any zombies immediately */ + sigchld(0); signal(SIGHUP, sighup); signal(SIGTERM, sigterm); @@ -2000,6 +1994,14 @@ sigdwmblocks(const Arg *arg) #endif void +sigchld(int unused) +{ + if (signal(SIGCHLD, sigchld) == SIG_ERR) + die("can't install SIGCHLD handler:"); + while (0 < waitpid(-1, NULL, WNOHANG)); +} + +void spawn(const Arg *arg) { if (fork() == 0) { |