diff --git a/swaybar/bar.c b/swaybar/bar.c index 5e87eac9..3412ff29 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c @@ -41,6 +41,7 @@ static void spawn_status_cmd_proc(struct bar *bar) { close(pipefd[0]); dup2(pipefd[1], STDOUT_FILENO); close(pipefd[1]); + setpgid(bar->status_command_pid, 0); char *const cmd[] = { "sh", "-c", @@ -290,7 +291,7 @@ static void free_outputs(list_t *outputs) { static void terminate_status_command(pid_t pid) { if (pid) { // terminate status_command process - int ret = kill(pid, SIGTERM); + int ret = killpg(pid, SIGTERM); if (ret != 0) { sway_log(L_ERROR, "Unable to terminate status_command [pid: %d]", pid); } else { diff --git a/wayland/pango.c b/wayland/pango.c index 702ab15c..f9eec98c 100644 --- a/wayland/pango.c +++ b/wayland/pango.c @@ -5,6 +5,7 @@ #include #include #include +#include #include "log.h" PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text,