spotify play pause doesn't appear for me
l4n1skyy opened this issue · 1 comments
l4n1skyy commented
The other modules work perfectly fine..
modules.ini
[module/spotify]
type = custom/script
tail = true
interval = 1
format-prefix = " "
format = <label>
exec = $HOME/.config/polybar/modules/polybar-spotify/scroll_spotify_status.sh
[module/spotify-prev]
type = custom/script
exec = echo " "
format = <label>
click-left = playerctl previous -p spotify
[module/spotify-play-pause]
type = custom/ipc
hook-0 = echo " "
hook-1 = echo " "
initial = 1
click-left = playerctl play-pause -p spotify
[module/spotify-next]
type = custom/script
exec = echo " "
format = <label>
click-left = playerctl next -p spotify
get_spotify_status.sh
#!/bin/bash
# The name of polybar bar which houses the main spotify module and the control modules.
PARENT_BAR="main"
PARENT_BAR_PID=$(pgrep -a "polybar" | grep "$PARENT_BAR" | cut -d" " -f1)
# Set the source audio player here.
# Players supporting the MPRIS spec are supported.
# Examples: spotify, vlc, chrome, mpv and others.
# Use `playerctld` to always detect the latest player.
# See more here: https://github.com/altdesktop/playerctl/#selecting-players-to-control
PLAYER="spotify"
# Format of the information displayed
# Eg. {{ artist }} - {{ album }} - {{ title }}
# See more attributes here: https://github.com/altdesktop/playerctl/#printing-properties-and-metadata
FORMAT="{{ title }} - {{ artist }}"
# Sends $2 as message to all polybar PIDs that are part of $1
update_hooks() {
while IFS= read -r id
do
polybar-msg -p "$id" hook spotify-play-pause $2 1>/dev/null 2>&1
done < <(echo "$1")
}
PLAYERCTL_STATUS=$(playerctl --player=$PLAYER status 2>/dev/null)
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
STATUS=$PLAYERCTL_STATUS
else
STATUS="No player is running"
fi
if [ "$1" == "--status" ]; then
echo "$STATUS"
else
if [ "$STATUS" = "Stopped" ]; then
echo "No music is playing"
elif [ "$STATUS" = "Paused" ]; then
update_hooks "$PARENT_BAR_PID" 2
playerctl --player=$PLAYER metadata --format "$FORMAT"
elif [ "$STATUS" = "No player is running" ]; then
echo "$STATUS"
else
update_hooks "$PARENT_BAR_PID" 1
playerctl --player=$PLAYER metadata --format "$FORMAT"
fi
fi
config.ini
enable-ipc = true
l4n1skyy commented
i put enable-ipc under settings instead of under the bar settings, sorry for this!