Petrakis s urgulakem tu trochu mlžili kolem zobrazování obrázku alba, které právě přehrává Rhythmbox, tak bych si dovolil to trochu upřesnit.
Jednak bod návodu petrakise "5.) v domovskem adresari si vytvorime soubor: .album , v pravech mu nastavime aby byl spustitelny (execute)" je nesmysl, je to soubor s obrázkem, spouštět se nebude. A ani ho není potřeba vytvářet předem.
Za druhé, pokud nemáte obrázek pro každé album, zobrazuje uvedený kód u alba bez obrázku obrázek posledního alba, který našel. Ta chyba "cp: nelze získat informace o „“: No such file or directory" značí, že nebylo co kopírovat, protože obrázek k albu neexistuje a tudíž nic nezkopíruje a v souboru .album zůstane obrázek posledního alba, ke kterému byl obrázek nalezen.
Obrázek alba je potřeba někam kopírovat jen kvůli tomu, že příkaz "image" v conky, neumí následovat cestu k souboru, která obsahuje mezery a nedá se to jinak obejít. Tudíž si soubor .album (klidně se může jmenovat jinak) můžete umístit kamkoliv, jen cesta nesmí obsahovat mezery. Je tu také možnost použít místo pevného disku RAM, což může ušetřit čas a pevný disk.
Pak by mohl funkční příklad vypadat třeba takto:
${execi 2 n=`conkyRhythmbox --datatype=CA | sed -e 's/\\\//g'`; m=`cat /dev/shm/m`; if [ "$n" != "$m" ]; then if [ "$n" ]; then cp "$n" /dev/shm/album; else cp ~/Pictures/notes.jpg /dev/shm/album; fi; echo $n > /dev/shm/m; fi}${image /dev/shm/album -p 0,650 -s 64x64}
Funguje to tak, že příkaz execi spouští v intervalu 2s následující bash skript. Je tam nejprve test, zda se obrázek od minulého průchodu změnil, pokud ne, skript skončí. Tento test není nezbytný, ale měl by šetřit prostředky. Pokud je změna, otestuje se, zda vůbec nějaký obrázek existuje a pokud ano, zkopíruje se nový obrázek na místo původního, do /dev/shm/album, což je oblast nacházející se v RAM a je v systému míněna jako dočasná paměť pro sdílení souborů mezi programy. Pokud přehrávané album obrázek nemá, vezme se nějaký jiný univerzální, připravený v tomto případě v ~/Pictures/ a použije se ten.
A když je Rhyhmbox vypnutý? Conky stále zobrazuje obrázek. Můžeme zařadit ještě test, zda je Rhythmbox aktivní a nechat zobrazovat obrázek jen tehdy, když je to aktuální. Můžeme použít třeba konstrukci ${if_running rhythmbox} ............. $endif, kdy veškerý kód na místě teček bude Conky provádět, jen pokud bude rhythmbox spuštěný.
Atd.