Tag Archives: amarok

Simple workaround to keep PC alive playing songs in Amarok and Gnome

During last months, I must confess, I got a new music player: Amarok.

Now, I would not fall in flame, but Rhythmbox seems still incomplete (and a bit bugged) if compared to Amarok. And, sadly, this is a fact, not an opinion (lol, and this is flame).

Anyway.. Amarok is not able to keep your PC alive when plays something, so if you set a hibernate time in gnome-settings you will see your PC going to sleep while you’re listening some song. And this is really bad..

This little script checks if Amarok is running (and it’s playing something as well) and set hibernate time to 0 (that means: no hibernate) in gnome-settings.

#!/bin/bash

# you MUST set this accoring with your QT installation
QDBUS=/usr/lib/x86_64-linux-gnu/qt4/bin/qdbus

# change these as you wish
# daemon time in seconds
TIME_DAEMON=10
# time to hibernate in seconds
TIME_HIBERNATE=600

# do not touch these
KEY=/org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout
QDBUS_CMD="org.mpris.MediaPlayer2.amarok /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlaybackStatus"

function amarok_on() {
  dconf write $KEY 0
}

function amarok_off() {
  dconf write $KEY $TIME_HIBERNATE
}

function check() {
  STATUS=`$QDBUS $QDBUS_CMD`
  if [ "$STATUS" == "Playing" ] ; then
    amarok_on
  else
    amarok_off
  fi
}

while `sleep $TIME_DAEMON` ; do check ; done

Obviously, you have to run this script when a gnome session starts (Startup applications).