diff --git a/sway/commands/exec_always.c b/sway/commands/exec_always.c index a966696c5..8a0d2bdd6 100644 --- a/sway/commands/exec_always.c +++ b/sway/commands/exec_always.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -53,6 +54,14 @@ struct cmd_results *cmd_exec_process(int argc, char **argv) { if (child == 0) { setsid(); + int devnull = open("/dev/null", O_RDWR); + if (devnull > STDERR_FILENO) { + dup2(devnull, STDIN_FILENO); + dup2(devnull, STDOUT_FILENO); + dup2(devnull, STDERR_FILENO); + close(devnull); + } + if (ctx) { const char *token = launcher_ctx_get_token_name(ctx); setenv("XDG_ACTIVATION_TOKEN", token, 1);