#!/bin/bash ! pgrep mpd > /dev/null && mpd lastFile=/tmp/radioLast.$USER nowPlaying=`mpc current -f "[%artist% - ]%title%"` width=$((${#nowPlaying} > 30 ? ${#nowPlaying} : 30)) if [ $# -eq 0 ]; then stationFile=~/.stations else stationFile=$1 fi stations=`cat $stationFile` if [ -f "$lastFile" ]; then last="$(cat $lastFile)" else touch $lastFile chmod 660 $lastFile fi names=() urls=() IFS=$'\n' for item in $stations; do if [ "$(echo $item | head -c 1)" != "#" ]; then IFS='|' read -r name url <<< "$item" names+=("$name") urls+=("$url") fi done [ "${#names[@]}" -lt 10 ] && l=${#names[@]} || l=10 choice=`echo "${names[*]}" | rofi -i -dmenu -format i -mesg "$nowPlaying" -l $l -width -$width -location 7 -theme android_notification -p "Radio" -no-custom -select $last` if [ ! -z "$choice" ]; then mpc clear mpc add ${urls[choice]} mpc play echo ${names[choice]} > $lastFile fi