60 lines
1.2 KiB
Bash
Executable File
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
|