#!/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..."