mirror of
https://github.com/Mastermindzh/dotfiles.git
synced 2025-07-28 05:03:13 +02:00
swapped out spotify for tidal.
PS: this uses the private "tidal-hifi" electron app that I am developing and should be released soon.
This commit is contained in:
14
i3/scripts/blocks/tidal.sh
Normal file
14
i3/scripts/blocks/tidal.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) ~/.config/i3/scripts/tidal-cli.sh playpause ;; # left click
|
||||
4) ~/.config/i3/scripts/tidal-cli.sh next ;; # scroll up
|
||||
5) ~/.config/i3/scripts/tidal-cli.sh previous ;; # scroll down
|
||||
esac
|
||||
|
||||
if ~/.config/i3/scripts/tidal-cli.sh status | grep 'paused' >/dev/null; then
|
||||
printf ' ' # fa-pause
|
||||
else
|
||||
printf ' ' # fa-play
|
||||
fi
|
||||
~/.config/i3/scripts/tidal-cli.sh info
|
50
i3/scripts/tidal-cli.sh
Executable file
50
i3/scripts/tidal-cli.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
TIDAL_HOST="http://localhost:47836"
|
||||
|
||||
function httpGet() {
|
||||
curl -s "$TIDAL_HOST/$1"
|
||||
}
|
||||
|
||||
function httpSilentGet() {
|
||||
curl -s -o /dev/null "$TIDAL_HOST/$1"
|
||||
}
|
||||
|
||||
case $1 in
|
||||
"play")
|
||||
httpSilentGet play
|
||||
;;
|
||||
"pause")
|
||||
httpSilentGet pause
|
||||
;;
|
||||
"playpause")
|
||||
httpSilentGet playpause
|
||||
;;
|
||||
"next")
|
||||
httpSilentGet next
|
||||
;;
|
||||
"previous")
|
||||
httpSilentGet previous
|
||||
;;
|
||||
"info")
|
||||
JSON=$(httpGet current)
|
||||
TITLE=$(echo "$JSON" | jq -r '.title')
|
||||
ARTISTS=$(echo "$JSON" | jq -r '.artist')
|
||||
INFO=$(echo "$TITLE - $ARTISTS")
|
||||
if [ ${#INFO} -le 3 ]; then
|
||||
echo "No music info available"
|
||||
else
|
||||
echo "$INFO"
|
||||
fi
|
||||
;;
|
||||
"status")
|
||||
if httpGet current | grep "paused" >/dev/null; then
|
||||
echo "paused"
|
||||
else
|
||||
echo "playing"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "tidal-cli doesn't know this command"
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user