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).