Files
bash-scripts/now-playing
T
2026-06-06 12:24:00 +02:00

37 lines
921 B
Bash
Executable File

#!/bin/bash
# Can parse 'max_length=SOME_INTEGER' as argument
# (example: ./now-playing max_lentgh=40)
default_max_length=45
# Function to trim the info if it exceeds 'max_length' characters
trim_info() {
local info="$1"
local max_length="$2"
if [ ${#info} -gt $max_length ]; then
local trim_length=$((max_length - 1))
info="${info:0:$trim_length}"
fi
echo "$info"
}
# Parse the command-line argument for max_length
if [[ $1 =~ max_length=([0-9]+) ]]; then
max_length="${BASH_REMATCH[1]}"
else
max_length=$default_max_length
fi
# Check if Spotify is playing
spotify_status=$(playerctl --player=mpd status 2>/dev/null)
if [ "$spotify_status" == "Playing" ]; then
# Get currently playing song from Spotify
info=$(playerctl metadata --player=mpd --format ' {{title}} • {{artist}}')
fi
trimmed_info=$(trim_info "$info" "$max_length")
echo "$trimmed_info"