#!/usr/bin/env bash

pids=$(pgrep -x quickshell)
[ -z "$pids" ] && exit 1

# for child in $(pgrep -P "$pid" 2>/dev/null); do
# 	kill "$child"
# done

children=()

for pid in $pids; do
	mapfile -t -O "${#children[@]}" children < <(pgrep -P "$pid" 2>/dev/null)
	kill "$pid" || true
done

sleep 0.5

for child in "${children[@]}"; do
	kill "$child" || true
done
