49 lines
1.0 KiB
Bash
49 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# Script for waybar styles
|
|
|
|
IFS=$'\n\t'
|
|
|
|
# Define directories
|
|
waybar_styles="$HOME/.config/waybar/style"
|
|
waybar_style="$HOME/.config/waybar/style.css"
|
|
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
|
rofi_config="$HOME/.config/rofi/config-waybar-style.rasi"
|
|
|
|
# Function to display menu options
|
|
menu() {
|
|
options=()
|
|
while IFS= read -r file; do
|
|
if [ -f "$waybar_styles/$file" ]; then
|
|
options+=("$(basename "$file" .css)")
|
|
fi
|
|
done < <(find -L "$waybar_styles" -maxdepth 1 -type f -name '*.css' -exec basename {} \; | sort)
|
|
|
|
printf '%s\n' "${options[@]}"
|
|
}
|
|
|
|
# Apply selected style
|
|
apply_style() {
|
|
ln -sf "$waybar_styles/$1.css" "$waybar_style"
|
|
"${SCRIPTSDIR}/Refresh.sh" &
|
|
}
|
|
|
|
# Main function
|
|
main() {
|
|
choice=$(menu | rofi -i -dmenu -config "$rofi_config")
|
|
|
|
if [[ -z "$choice" ]]; then
|
|
echo "No option selected. Exiting."
|
|
exit 0
|
|
fi
|
|
|
|
apply_style "$choice"
|
|
}
|
|
|
|
# Kill Rofi if already running before execution
|
|
if pgrep -x "rofi" >/dev/null; then
|
|
pkill rofi
|
|
#exit 0
|
|
fi
|
|
|
|
main
|