dotfiles/.config/hypr/UserScripts/RofiBeats.sh
2024-04-29 15:37:09 +02:00

48 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
# Directory for icons
iDIR="$HOME/.config/swaync/icons"
# Note: You can add more options below with the following format:
# ["TITLE"]="link"
# Define menu options as an associative array
declare -A menu_options=(
["Lofi Girl ☕️🎶"]="https://play.streamafrica.net/lofiradio"
["96.3 Easy Rock 📻🎶"]="https://radio-stations-philippines.com/easy-rock"
["Ghibli Music 🎻🎶"]="https://youtube.com/playlist?list=PLNi74S754EXbrzw-IzVhpeAaMISNrzfUy&si=rqnXCZU5xoFhxfOl"
["Top Youtube Music 2023 ☕️🎶"]="https://youtube.com/playlist?list=PLDIoUOhQQPlXr63I_vwF9GD8sAKh77dWU&si=y7qNeEVFNgA-XxKy"
["Chillhop ☕️🎶"]="http://stream.zeno.fm/fyn8eh3h5f8uv"
["SmoothChill ☕️🎶"]="https://media-ssl.musicradio.com/SmoothChill"
["Relaxing Music ☕️🎶"]="https://youtube.com/playlist?list=PLMIbmfP_9vb8BCxRoraJpoo4q1yMFg4CE"
["Youtube Remix 📻🎶"]="https://youtube.com/playlist?list=PLeqTkIUlrZXlSNn3tcXAa-zbo95j0iN-0"
["Korean Drama OST 📻🎶"]="https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ"
)
# Function for displaying notifications
notification() {
notify-send -u normal -i "$iDIR/music.png" "Playing now: $@"
}
# Main function
main() {
choice=$(printf "%s\n" "${!menu_options[@]}" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats.rasi -i -p "")
if [ -z "$choice" ]; then
exit 1
fi
link="${menu_options[$choice]}"
notification "$choice"
# Check if the link is a playlist
if [[ $link == *playlist* ]]; then
mpv --shuffle --vid=no "$link"
else
mpv "$link"
fi
}
# Check if an online music process is running and send a notification, otherwise run the main function
pkill mpv && notify-send -u low -i "$iDIR/music.png" "Online Music stopped" || main