K

kurtjavier

Usuario (Venezuela)

Primer post: 26 abr 2011Último post: 26 abr 2011
1
Posts
25
Puntos totales
3
Comentarios
C
Conky con portada del album que suena en Rhythmbox
LinuxporAnónimo4/26/2011

Esto no es repost, es un post original mio, espero todos sepan respetar el tiempo que cada quien invierte en ayudar a la comunidad y no repostear esto en todos lados. En estos dias decidi volver a instalar el amado por muchos, y por otros no tanto, el Conky. Para los que no lo conocen, les coloco aqui la descripcion de conky que coloca la gente de Softonic.com: dijo:Conky es un sistema de monitoreo avanzado para las X, un monitoreo que toma asiento en una esquina de la pantalla, donde renderiza la ventana de root en el escritorio o hace uso de ventanas semi-transparentes. En ambos modalidades, Conky mostrará toda una serie de datos acerca del sistema. Las informaciones accesibles a través de Conky van desde la versión del kernel hasta le nombre de los procesos y uso de la memoria, CPU, SWAP, etc. Adicionalmente, muestra datos de tráfico de red y temperaturas de la CPU y placa base, usando la información filtrada por los sensores. Conky nos permite acceder rápidamente a un número substancial de información, tanto del sistema como de red, incluso nos brinda información meteorológica y datos sobre la el tipo de maquina, procesador, etc. Lo hace de forma no intrusiva y consume apenas recursos del sistema. Conky + ConkyColors El problema del conky, es que puede llegar a ser un poco engorroso configurarlo para obtener resultados tan asombrosos como se pueden encontrar en la red. Bueno en fin, decidi instalarlo nuevamente y embarcarme a la programacion del Conky, y rapidamente consegui un paquete llamado ConkyColors posteado originalmente en Gnome-Look.org, lo "instale" (no requiere una gran instalacion) y es MUY bueno ayuda mucho a configurar el conky, no es gran cosa pero ayuda abstante y sobre todo despues el usuario puede modificar tranquilamente el codigo generado por la aplicacion. Les dejo aqui un link de una pagina aqui en taringa del amigo ATXY2K donde explican paso a paso como utilizarlo, de todas formas pueden enviarme un mensaje privado si tienen dudas: Conky Colors paso a paso Ahora a lo interesante, despues de que el conkyColors me generara mi archivo de configuracion de conky, procedi a ejecutar mi conky cargando la configuracion desde ese archivo y observo que en la parte de informacion de reproduccion no aparece nada, no me extraña, es muy raro que todo sea tan facil jeje. Total que decido configurar yo mismo la parte de reproduccion para que aparezca en el conky, me encuentro en la red con la aplicacion rhythmbox-client que me da toda la informacion necesaria del Rhythmbox, pero me faltaba algo importante, al menos para mi, mostrar la caratula del album que se reproduce en Rhythmbox en Conky. Bueno tras HORAS de navegar leer y tratar no consegui ninguna solucion aceptable, que no diera problemas. Algunas utilizaban aplicaciones de terceros, mas paqueteria, scripts con muchas lineas de codigo, conexion a internet a last.fm. Total que ninguna me agrado, sencillamente porque estoy acostumbrado que las soluciones en linux generalmente siempre son faciles, solo hay que buscar y leer. Bueno aqui viene mi solucion. Conky + Rhythmbox Bueno siguiendo, todas las soluciones que encontre en internet para poder visualizar en Conky la portada del album que suena en Rhythmbox eran un poco cuestionables, entonces decidi embarcarme a hacer yo mismo mi script para mostrar la en el Conky la informacion que necesitaba. Para esto utilice solamente dos aplicaciones que estan instaladas en Debian por defecto, Rhythmbox-client y mogrify que es una aplicacion que pertenece al paquete ImageMagick. Comencemos por el principio, Rhythmbox tiene un complemento que es "Arte de Portada" que te muestra la portada del album que se reproduce en el Rhythmbox, entonces dije "bueno si Rhythmbox baja esas portadas para mostrarlas, tiene que gaurdarlas en algun lugar, solo tengo que copiar la imagen y mostrarla en el conky", y eso fue exactamente lo que hice. Ahora hay dos formas de hacerlo, una es mostrando de una ves en el conky la imagen que se muestra en Rhythmbox, o copiandola a otra ubicacion remiensionarla y despues mostrarla, colocare las dos. El Rhythmbox guarda las caratulas que baja en el directorio /home/TU-USUARIO/.cache/rhythmbox/covers, ahora ¿ como saber el nombre del archivo exacto que tiene la imagen ?, bueno navegando en la carpeta y observando en el Rhythmbox me fije que los nombre de los archivos siempre son "ARTISTA - ALBUM.jpg" necesitaba de alguna forma conocer la informacion de reproduccion de Rhythmbox. Aqui entra en juego el Rhythmbox-client (instalado por defecto con Rhythmbox). Los comandos necesarios para sacar la informacion correspondiente son los siguientes: Para el titulo de la cancion: dijo:rhythmbox-client --no-start --print-playing-format %tt Para el artista: dijo:rhythmbox-client --no-start --print-playing-format %aa Para el album: dijo:rhythmbox-client --no-start --print-playing-format %at Ahora vamos con el script, el problema de la primera version que consistia en sacar el nombre del artista mas el album y mandarlo a pintar en conky, es que si no se estaba reproduciendo nada, daba un error, porque no se conseguia la imagen, igual que para un artista DESCONOCIDO o con album DESCONOCIDO tambien da error si se manda directo al conky, por eso decidi buscar la imagen y si existia la copiaba a otra ubicacion y luego la pintaba, si no existia pintaba una por defecto. Antes de colocar el script les digo que el archivo de confguracion de mi conky asi como mi script y lo demas lo guardo en una carpeta llamada ".conkycolors" en mi home, pueden cambiar a la carpeta que ustedes quieran y actualizar la direccion en el script: dijo: #/bin/bash artista=$(rhythmbox-client --no-start --print-playing-format %aa) album=$(rhythmbox-client --no-start --print-playing-format %at) archivo="/home/$(whoami)/.cache/rhythmbox/covers/${artista} - ${album}.jpg" if [ -f "$archivo" ]; then cp "$archivo" /home/$(whoami)/.conkycolors > /dev/null mv "/home/$(whoami)/.conkycolors/${artista} - ${album}.jpg" "/home/$(whoami)/.conkycolors/portada.jpg" mogrify -resize 64x64 "/home/$(whoami)/.conkycolors/portada.jpg" else cp "/home/$(whoami)/.conkycolors/default.jpg" "/home/$(whoami)/.conkycolors/portada.jpg" > /dev/null mv "/home/$(whoami)/.conkycolors/${artista} - ${album}.jpg" "/home/$(whoami)/.conkycolors/portada.jpg" fi Comenzamos con sacar la informacion de el artista y el album de la cancion que se esta reproduciendo. Creamos una variable con lo que seria la direccion de la imagen, verificamos que la imagen exista, si la imagen existe, la copiamos al directorio (en este caso, esto puede ser modificado) donde tenemos nustro archivo de configuracion de Conky, luego le cambiamos el nombre a "portada.jpg" ya que con esto es que pintaremos en Conky y por ultimo la redimensionamos al tamaño que ustedes deseen, en este caso yo estoy pintando en una dimension de 64x64px. Ahora que pasa si la imagen no existe, debido a que no se esta reproduciendo nada, o el artista tiene un nombre desconocido, o no se conoce el nombre del album, bueno Rhythmbox coloca una caratula por defecto, ese archivo yo lo incluyo en un paquete que les dejare, el archivo es el "default.jpg" si la caratula no se consigue, el script agarrara el "default.jpg" lo copiara a "portada.jpg" y se pintara esa para que no de error el conky. Ahora la parte del Conky donde coloco la informacion de reproduccion: dijo: #####portada del album ${exec /home/TU-USUARIO/.conkycolors/./portada}${goto 32}${image /home/TU-USUARIO/.conkycolors/portada.jpg -p 0,325 -s 64x64} #####titulo de la cancion ${goto 32} ${font Droid Sans:style=Bold:size=8}${color1} ${exec rhythmbox-client --no-start --print-playing-format %tt}${font}${color} #####artista ${goto 32} ${font Droid Sans:style=Bold:size=8}${color1}${exec rhythmbox-client --no-start --print-playing-format %aa}${font}${color} #####album ${goto 32} ${font Droid Sans:style=Bold:size=8}${color1}${exec rhythmbox-client --no-start --print-playing-format %at}${font}${color} El Conky cuando llega alli, ejecuta el script "portada", pinta la imagen en (0 , 325) en un tamaño de 64x64, luego coloca la demas informacion: Titulo, Artista, Album. Solo queda de su parte colocar el retraso de actualizacion del Conky, la mayoria lo coloca a 1 seg, yo lo coloco a 10 para no sobrecargar innecesariamente el procesador, cada ves que se actualice el Conky, si por ejemplo lo colocan a 1 segundo, cada segundo entonces se ejecutara el script que actualizara la portada que se pintara. Bueno eso es todo, les dejo el link de descarga del paquete que contiene: 1- Mi archivo de configuracion del Conky, la iamgen que esta al inicio. 2- La imagen "default.jpg" 3- El script portada Imagenes de muestra: Descarga el paquete: http://kurtjavier.vacau.com/imagenes/conky/conky_Rhythmbox.tar.gz Al descomprimir creara una carpeta llamada ".conkycolors" tienen que habilitar archvios ocultos para que la vean. Pueden modificar las rutas, menos la cache de Rhythmbox que es la misma. En el archivo "conkyrc" modifiquen la linea 94 y cambien "TU-USUARIO" por su nombre de usuario. Espero les sea util xD.

25
7
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.