diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2015-11-25 20:17:15 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2015-11-27 02:44:53 +0100 |
| commit | e02542fca8dfe25bc22346b55b35d2a6cbc0c35c (patch) | |
| tree | 82b66ccf80fa72371df9fc36ed4fa94bb2fddf63 /scripts | |
| parent | 2a9bfb8a3c90031cea661b1de69caca885b21530 (diff) | |
| download | dotfiles-e02542fca8dfe25bc22346b55b35d2a6cbc0c35c.tar.gz dotfiles-e02542fca8dfe25bc22346b55b35d2a6cbc0c35c.zip | |
rework media buttons control to function with spotify
also remove bash wrapper for fish scripts and just use bash scripts
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/i3_use_fish.sh | 8 | ||||
| -rw-r--r-- | scripts/media_control.sh | 36 | ||||
| -rw-r--r-- | scripts/media_next.fish | 5 | ||||
| -rw-r--r-- | scripts/media_prev.fish | 5 | ||||
| -rw-r--r-- | scripts/media_toggle.fish | 5 | ||||
| -rw-r--r-- | scripts/spotify-artist-title.sh | 14 |
6 files changed, 50 insertions, 23 deletions
diff --git a/scripts/i3_use_fish.sh b/scripts/i3_use_fish.sh deleted file mode 100755 index 25435fd..0000000 --- a/scripts/i3_use_fish.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -if type fish &>/dev/null -then - exec fish $1 -else - exec i3-nagbar -m "please install fish to use this script $1" -fi diff --git a/scripts/media_control.sh b/scripts/media_control.sh new file mode 100644 index 0000000..c0ce02a --- /dev/null +++ b/scripts/media_control.sh @@ -0,0 +1,36 @@ +# NOTE: +# if spotify is running toggle is consumed by spotify. + +#!/bin/bash + +# arg parsing +if [ "$1" = "toggle" ] +then + spotify_cmd="PlayPause" +elif [ "$1" = "next" ] +then + spotify_cmd="Next" +elif [ "$1" = "prev" ] +then + spotify_cmd="Previous" +fi + +if [ "$spotify_cmd" != "" ] +then + # can't be sure if spotify was running and should play again + if [ "$spotify_cmd" = "PlayPause" ] + then + if [ "$(ps -A | grep spotify)" != "" ] + then + dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.$spotify_cmd + else + mpc $1 + fi + elif [ "$(lsof | grep /dev/snd | grep spotify)" != "" ] + then + dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.$spotify_cmd + elif [ "$(mpc | grep '\[' | cut -f1 -d' ')" != "" ] + then + mpc $1 &>/dev/null + fi +fi diff --git a/scripts/media_next.fish b/scripts/media_next.fish deleted file mode 100644 index 173d9fc..0000000 --- a/scripts/media_next.fish +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/fish - -if type mpc >/dev/null 2>/dev/null - mpc next >/dev/null 2>/dev/null -end diff --git a/scripts/media_prev.fish b/scripts/media_prev.fish deleted file mode 100644 index e29bc88..0000000 --- a/scripts/media_prev.fish +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/fish - -if type mpc >/dev/null 2>/dev/null - mpc prev >/dev/null 2>/dev/null -end diff --git a/scripts/media_toggle.fish b/scripts/media_toggle.fish deleted file mode 100644 index e826122..0000000 --- a/scripts/media_toggle.fish +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/fish - -if type mpc >/dev/null 2>/dev/null - mpc toggle >/dev/null 2>/dev/null -end diff --git a/scripts/spotify-artist-title.sh b/scripts/spotify-artist-title.sh new file mode 100644 index 0000000..62494b8 --- /dev/null +++ b/scripts/spotify-artist-title.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +metadata=$(dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata') + +if [[ $metadata == *"spotify:ad"* ]] +then + echo "ad :/" +else + artist=$(echo "$metadata" | egrep -A 2 "artist" | egrep -v "artist" | egrep -v "array" | cut -b 27- | cut -d '"' -f 1 | egrep -v ^$) + + title=$(echo "$metadata" | egrep -A 1 "title" | egrep -v "title" | cut -b 44- | cut -d '"' -f 1| egrep -v ^$) + + echo $artist - $title +fi |
