This repository has been archived on 2024-09-01. You can view files and clone it, but cannot push or open issues or pull requests.
al-skel/home/bin/start-polybar

48 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Polybar launcher script written by Nathaniel Maia for use in ArchLabs
# Will launch bars depending on WM
# Can also be used to reload openbox session with [--reload] or [-r]
# Enter your bar names here (seperated by spaces) eg BARS=(bar bar1 my-bar)
# This will be combined with CUR_WM eg. openbox-bar, bspwm-bar, i3-bar
BARS=(bar)
CONFIG=$HOME/.config/polybar/config
if [[ "$(xprop -root | grep -i "openbox")" > /dev/null ]]; then
CUR_WM="openbox"
else
CUR_WM=$(xprop -root | grep "_NET_WM_NAME(UTF8_STRING)" | cut -d " " -f 3 | sed 's/"//g' | awk '{print tolower($0)}')
fi
# Reload openbox session
if [[ $1 == "--reload" ]] && [[ $CUR_WM == "openbox" ]]; then
openbox --restart
al-compositor --restart
al-tint2restart
elif [[ $1 == "--reload" ]]; then
echo "[WARN]: Option [--reload] is meant for Openbox Only"
fi
# Drop out if tint2 is running
if pgrep tint2 >/dev/null; then
echo "Tint2 is running... Exiting"
exit 0
fi
# Terminate already running Bars
while pgrep polybar >/dev/null; do
killall -q polybar
sleep 0.5
done
# Launch each bar in BARS=() above
echo "Using $CUR_WM... Launching Bars"
for bar in "${BARS[@]}"; do
polybar -r --config=$CONFIG ${CUR_WM}-$bar &
done
echo "Bars launched..."