È da un po’ di tempo ormai che uso conky, l’unico problema che mi si è presentato non è stato facile da risolvere: se nel .conkyrc, tra le nostre opzioni, mettiamo qualcosa come:

{execi 5 banshee --query-title}
e banshee non è in esecuzione, faremo sì che si avvi. Cosa che mi ha portato non pochi fastidi.

Ho risolto scrivendo un semplice script in python che “chiedesse” a Banshee, tramite Dbus, i vari Tag Id3 e soprattutto che controllasse, prima di restituire le informazioni richieste, se davvero ci fosse una istanza del player per evitare che si avviasse senza essere richiesto.

Lo Script è scaricabile da qui

Per utilizzarlo è necessario installare il pacchetto python-dbus, dare al file i permessi di esecuzione e posizionarlo in una cartella a vostra scelta (nel mio caso è stata ~/scripts).
Le opzioni disponibili sono poche:

  • titolo
  • artista
  • album
  • status: mostra lo status di banshee (playing, paused,  idle, etc etc…)
  • len: serve a costruire la nostra progress bar con conky ;)

infine, scriviamo qualcosa nel nostro conkyrc no?

TEXT
${if_running banshee-1}
Titolo: ${alignr}${execi 5 /home/vostro_utente/scripts/banshee_info.py titolo}${color}
Artista: ${alignr}${execi 5 /home/vostro_utente/scripts/banshee_info.py artista}${color}
Album: ${alignr}${execi 5 /home/vostro_utente/scripts/banshee_info.py album}${color}
${execibar 2 /home/vostro_utente/scripts/banshee_info.py len}
${alignc}${execi 5 /home/vostro_utente/scripts/banshee_info.py status}
$endif

E per ultimo questo è il risultato: