#!/bin/bash #Filename: gaim-status #Version: 1.2.4 #License: GPL version 2 #Code by AppleGrew #Based on code from http://gentoo-wiki.com/TIP_Gaim_Autoprofile_plugin. sleep_time=90 #Adjust the timer to suit your likings. #Setting it to too lower value will consume CPU cycles #and the script may also exit if Gaim fails to load in the above time. if [[ $1 == "startgaim" ]] || [[ $2 == "startgaim" ]] then #Checking if gaim is allive or not. if `pgrep -x gaim >/dev/null` then echo "Gaim already running, continuing to load gaim-status..." else gaim & fi fi #Checking if the script is already running or not. If yes then exitting. gaimstatus_proc_count=`pgrep -c gaim-status` if [ $gaimstatus_proc_count -ge 2 ] then echo "Only one instance of the script can run at a time." exit 1 fi skip=0 while [[ 1 == 1 ]] do player_title="" isVideo=0 player_artist="" player_song="" #Checking if Amarok is allive and kicking or not. if `dcop | grep amarok >/dev/null` && [[ `dcop amarok player isPlaying` == "true" ]] then player_artist=`dcop amarok player artist` player_song=`dcop amarok player title` fi #Checking if Kaffeine is allive and kicking or not. if `dcop | grep kaffeine >/dev/null` && [[ `dcop kaffeine KaffeineIface isPlaying` == "true" ]] then if [[ `dcop kaffeine KaffeineIface isVideo` == "true" ]] then player_title=`dcop kaffeine KaffeineIface title` isVideo=1 else player_artist=`dcop kaffeine KaffeineIface artist` player_song=`dcop kaffeine KaffeineIface title` fi fi if [[ $isVideo == 0 ]] then if [[ $player_artist == "" ]] && [[ $player_song == "" ]] then player_title="" else player_title="$player_artist- $player_song" fi fi if [[ "$player_title" != "" ]] then if [[ $isVideo == 1 ]] then msg="⚇♪ $player_title" else msg="♫ $player_title" fi fi if [[ "$player_title" == "" ]] then if [[ $1 != "nofortune" ]] && [[ $2 != "nofortune" ]] then if [[ $skip == 1 ]] then skip=2 else # Displaying random messages. msg=`fortune -ue|cat` msg=`echo -en "Auto Message (Ignore if offensive): \n$msg"` skip=1 #Comment out the line above if you donot want fortune #messages to change at twice the period of song messages. fi else msg="" fi else skip=0 fi if [[ $skip != 2 ]] then gaim-remote "setstatus?status=available&message=$msg" else skip=0 fi sleep "${sleep_time}s" #Checking if gaim is allive or not. if ! `pgrep -x gaim >/dev/null` then exit 0 fi done