#!/usr/bin/env bash
# force start or restart (all) polybar instances
# if ipc is enabled, can be replaced with `polybar-msg cmd restart`, provided polybar is not stuck

# Terminate already running bar instances
killall -q polybar

# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

startbars() {
  for bar in "$@"; do
    local logfile="/tmp/polybar-$bar.log"
    printf -- "---\npolybar: %s starting...\n---\n" "$bar" | tee -a "$logfile"
    polybar "$bar" >>"$logfile" 2>&1 &
  done
}

startbars "$@"
echo "Polybars launched..."