gscripts/BarRunner
2024-02-19 20:57:28 +00:00

60 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# +SPDX:MIT
## Based on https://github.com/Alexays/Waybar/issues/961#issuecomment-753533975
## WE NEED SOME DEPENDENCIES
depcheck() {
if ! command -v "$1" &> /dev/null ; then
echo "Missing dependency $1"
exit 1
fi
}
depcheck waybar
depcheck inotifywait
COMPOSITOR="$1"
PYWAL="$2"
WATCHEDFILES=""
CONFIG_FILE="$XDG_CONFIG_HOME/waybar/config"
CONFIG_FILE_HYPRLAND="$XDG_CONFIG_HOME/waybar/config.hyprland.conf"
COLOR_FILE="$XDG_CONFIG_HOME/waybar/colours.css"
COLOR_FILE_PYWAL="$XDG_CACHE_HOME/wal/colors-waybar.css"
STYLE_FILE="$XDG_CONFIG_HOME/waybar/style.css"
STYLE_FILE_PYWAL="$XDG_CONFIG_HOME/waybar/style.pywal.css"
case "$COMPOSITOR" in
"hyprland")
WATCHEDFILES+=$CONFIG_FILE_HYPRLAND
RUNCONFIG=$CONFIG_FILE_HYPRLAND
;;
*)
WATCHEDFILES+=$CONFIG_FILE
RUNCONFIG=$CONFIG_FILE
;;
esac
WATCHEDFILES+=" "
case "$PYWAL" in
"y"|"Y"|"yes")
WATCHEDFILES+=$COLOR_FILE_PYWAL
WATCHEDFILES+=" "
WATCHEDFILES+=$STYLE_FILE_PYWAL
RUNSTYLE=$STYLE_FILE_PYWAL
;;
*)
WATCHEDFILES+=$COLOR_FILE
WATCHEDFILES+=" "
WATCHEDFILES+=$STYLE_FILE
RUNSTYLE=$STYLE_FILE
;;
esac
trap "killall waybar" EXIT
while true; do
waybar -c $RUNCONFIG -s $RUNSTYLE &
inotifywait -e create,modify $WATCHEDFILES
killall waybar
done