Een tijdje terug heb ik dat opgelost via een los Python script.
Sla de volgende code op in je home map, onder bijvoorbeeld de naam
banshee-conky.py
#!/usr/bin/env python
# http://ubuntuforums.org/showpost.php?p=7115805&postcount=20
import sys,os,dbus
if sys.argv[1] == "--help":
print("Usage: <script> --artist | --name | --album | --percent | --track")
else:
rc = os.system( "ps -ef | grep -v grep | grep -c 'banshee' > /dev/null" )
if rc == 0:
bus = dbus.SessionBus()
banshee = bus.get_object("org.bansheeproject.Banshee", "/org/bansheeproject/Banshee/PlayerEngine")
state = banshee.GetCurrentState()
if state == 'playing':
if sys.argv[1] == "--artist":
print(banshee.GetCurrentTrack()['artist'])
elif sys.argv[1] == "--name":
print(banshee.GetCurrentTrack()['name'])
elif sys.argv[1] == "--album":
print(banshee.GetCurrentTrack()['album'])
elif sys.argv[1] == "--percent":
print(100*banshee.GetPosition()/banshee.GetLength())
elif sys.argv[1] == "--track":
print(banshee.GetCurrentTrack()['track-number'])
elif sys.argv[1] == "--percent":
print(100*banshee.GetPosition()/banshee.GetLength())
elif sys.argv[1] == "--status":
print(state)
else:
if sys.argv[1] == "--status":
print(state)
else:
print "Banshee not running"
Vervolgens ga je met de bestandsbeheerder naar je home map en rechtsklik je op het bestand.
Daarna kies je voor eigenschappen. In het 3e tabblad zet je een vinkje, zodat het programma uitgevoerd mag worden.
Nu kan je het script in Conky gebruiken op de standaardmanier ( $exec of $execi )
Je kan het ook rechtstreeks in de terminal uitvoeren:
./banshee-conky.py --help
Hiermee zie je de opties.
Je kan de volgende opties gebruiken:
--artist
--name
--album
--percent
--track
Ze spreken wel voor zich denk ik

het script is niet perfect, maar werkt hier prima.
Album art is niet mogelijk in Conky, omdat het alleen maar tekst weer kan geven, geen plaatjes.