Files
dotfiles/i3/.config/polybar/scripts/launch.sh
Fabio Scotto di Santolo 56af90de63 Setting Polybar
2025-09-04 10:22:25 +02:00

66 lines
1.3 KiB
Bash

#!/usr/bin/env bash
DIR="$HOME/.config/polybar"
get_bars () {
find -H $DIR -name "config.ini" | xargs cat | grep -e "\[bar\/" | sort -u | sed "s/\[bar\// /g" | sed "s/.$//g"
}
error () {
cat <<- EOF
Usage : launch.sh [bar] [theme]
bars (defined in any config.ini):
EOF
get_bars
cat <<- EOF
themes:
rounded
grayblocks
EOF
exit 0
}
# Launch the bar
launch-bar () {
# Terminate already running bar instances
killall -q polybar
if [[ -f ~/.config/bspwm/bspwmrc ]]; then
sed -i -e "s/polybar.*/polybar\/launch\.sh $bar $style \&/g" ~/.config/bspwm/bspwmrc
fi
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
if type "xrandr"; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
POLYBAR_MONITOR=$m polybar --reload $bar -c "$DIR"/"$style"/config.ini &
done
else
polybar --reload $bar -c "$DIR"/"$style"/config.ini &
fi
}
if [[ "$1" = "bspwm" ]]; then
bar="bspwm"
elif [[ "$1" = "awesomewm" ]]; then
bar="awesomewm"
else
error
fi
if [[ "$2" = "rounded" ]]; then
style="rounded"
launch-bar
elif [[ "$2" = "grayblocks" ]]; then
style="grayblocks"
launch-bar
else
error
fi