
For the sake of them that cannot download the script, here it goes in plain text format: ##BEGIN #!/bin/bash #=================================================================================== # # FILE: amarok_now_playing # # USAGE: amarok_now_playing [ > logfile] # # DESCRIPTION: Changes your status message in pidgin and/or # Kopete to the song you are currently listening to in Amarok. # # OPTIONS: see function ’usage’ below # REQUIREMENTS: --- Amarok 1.4.10, purple-remote, Pidgin 2.5.2 or Kopete 0.70.2 # BUGS: --- # NOTES: --- # AUTHOR: Arthur Buliva, arthurbuliva@gmail.com # COMPANY: Mobile Planet Limited # VERSION: 1.0 # CREATED: 26.05.2009 - 16:17:51 # REVISION: 26.05.2009 #=================================================================================== STARTUP="dcop amarok player version" ALLOWED_AMAROK_VERSION="1.4" ALLOWED_KOPETE_VERSION="0.70" PIDGIN="`kopete --version`" #Test for Amarok a=`$STARTUP` if [[ "$a" =~ "${ALLOWED_AMAROK_VERSION}" ]] then echo "Amarok $a [ OK ] " else echo " [ FAILED ] Make sure that you are running Amarok 1.4 `date +%b-%d-%Y\ %T` " exit; fi #Test for Kopete if [[ "$PIDGIN" =~ "${ALLOWED_KOPETE_VERSION}" ]] then echo "Kopete $PIDGIN [ OK ] " else echo "SEVERE: This script has been tested on Kopete 0.70 only `date +%b-%d-%Y\ %T` " exit fi updateStatus() { if [[ "`$STARTUP`" != "" ]] then SONG_TITLE="dcop amarok player title" ARTIST="dcop amarok player artist" KOPETE_STATUS='qdbus org.kde.kopete /Kopete' if [[ "`$KOPETE_STATUS`" == "" ]] then echo "SEVERE: Kopete is not running. This script will terminate `date +%b-%d-%Y\ %T` " exit fi if [[ "`$SONG_TITLE`" != "" ]] then TITLE="♫ `$SONG_TITLE` by `$ARTIST`"; echo "INFO: Now listening to ♫ `$SONG_TITLE` by `$ARTIST` `date +%b-%d-%Y`"; #Pidgin #`/usr/bin/purple-remote "setstatus?status=available&message=$TITLE"` #Kopete qdbus org.kde.kopete /Kopete org.kde.Kopete.setIdentityOnlineStatus "Online" "$TITLE" sleep 5; updateStatus else echo "INFO: Amarok is quiet `date +%b-%d-%Y`"; TITLE="Amarok is quiet"; #Pidgin #`/usr/bin/purple-remote "setstatus?status=available&message=$TITLE"` #Kopete qdbus org.kde.kopete /Kopete org.kde.Kopete.setIdentityOnlineStatus "Online" "$TITLE" sleep 5; updateStatus fi else echo "SEVERE: Could not connect to DCOP Server `date +%b-%d-%Y` " exit fi } updateStatus ##END