Neste tópico apresento um script muito interessante que faz download de uma imagem popular do Flickr. Basicamente o script acede às imagens mais populares do Flickr e faz download de uma delas.
Este script é particularmente interessante para ser usado em conjunto com uma configuração do Conky que apresente imagens. Aliás, a ideia deste script nasceu depois de eu ter conhecimento de um script semelhante do Conky_Colors que mostrava um Wallpaper aleatória do nosso sistema. Neste caso, os script apresentado aqui é semelhante (e até reutiliza um pouco do anterior) mas faz download da imagem do Flickr.
Para além disso, este script gera uma imagem sempre com o mesmo tamanho mas centrada dentro de uma "caixa" transparente de tamanho fixo. Esta maneira de funcionar é algo muito importante para utilizar no Conky visto que não é possível centrar imagens no Conky. Como as imagens do Flickr muitas vezes são widescreen mas outras vezes são verticais, é importante esta funcionalidade para que depois no conky o resultado não fique desformatado. Se não estiver a perceber, basicamente uma imagem original como as imagens dentro dos quadrados abaixo, consoante a sua forma, ficarão nas seguintes posições:
Ou seja, fica na parte superior, centrada, e sempre a usar o máximo de espaço possível dentro da caixa a tracejado, mas sem perder o seu rácio. Na prática, isto resolve a falta de funcionalidades de centrar que o Conky tem.
O script conta com duas versões de bordas e conta com 3 tipos de tamanho que o utilizador pode mudar facilmente nas variáveis "theme" e "dim", respetivamente. Em breve será apresentado um conky muito interessante aqui no Ubuntued em que será utilizado o tema com as bordas mais simples e com as dimensões mais pequenas. Fique atento.
O script está licenciado com "Creative Commons Attribution 3.0" o que significa que você pode redistribuir e mudar à vontade com apenas uma única condição: atribuir o trabalho ao autor. Aliás, esta é a licença do Ubuntued em geral!
Como funciona o script?
O script funciona de uma maneira muito simples: ele pode ser executado em qualquer sítio e ele irá funcionar desde que você esteja ligado à Internet; a imagem resultante do processamento fica numa localização fácil de encontrar pelo conky, em "/tmp/conkyPhoto.png".
Por isso, numa situação normal supondo que o script tem o nome "conkyPhotoFlickr.sh" está na sua pasta pessoal, se você quiser incluir num Conky, basta adicionar o seguinte à configuração do Conky:
- Código: Selecionar todos
${execi 60 ~/conkyPhotoFlickr.sh}${image /tmp/conkyPhoto.png}
O resultado vai ser bastante interessante: a cada 60 segundos (1 minuto) será apresentada uma imagem diferente do conjunto de imagens populares do flickr da última.
Código do script
Para finalizar, apresenta-se o script que se você quiser utilizar apenas precisa de o guardar no seu computador e depois executá-lo ou manualmente ou através do Conky, tal como explicado acima.
- Código: Selecionar todos
#!/bin/bash
#
# Flikr Photos for Conky
# By Claudio Novais # http://www.ubuntued.info
# Main page of this script: http://forum.ubuntued.info/viewtopic.php?t=5100
#
# This work is licensed under a Creative Commons Attribution 3.0 Unported License.
# You can Share and Remix, but with the a condition: atribution. More about this license:
# http://creativecommons.org/licenses/by/3.0/
theme=2
dim="small"
filename="/tmp/conkyPhotoTemp.jpg"
photo="/tmp/conkyPhoto.png"
curl -s "http://www.flickr.com/explore/interesting/7days/" -o /tmp/cenas.html | grep "staticflickr" /tmp/cenas.html | head -n1 | sed -n 's/.*<img src="\([^"]*\)".*/\1/p' | xargs curl -o "$filename"
if [[ $dim == "small" ]]; then
geometry="180x160"
geometry_extent="192x172"
elif [[ $dim == "medium" ]]; then
geometry="238x148"
geometry_extent="250x160"
elif [[ $dim == "big" ]]; then
geometry="318x200"
geometry_extent="330x212"
fi
cp "$filename" "$photo"
convert "$filename" -resize "$geometry" "$photo"
if [[ $theme -eq 1 ]]; then
# Theme 1
convert -page +2+2 "$photo"\
-bordercolor snow -border 4.5\
-bordercolor gray55 -border 1 \
-background black \( +clone -shadow 40x2+1+1 \) +swap \
-background none -flatten -gravity North -extent "$geometry_extent" \
"$photo"
elif [[ $theme -eq 2 ]]; then
# Theme 2
convert -page +4+4 "$photo"\
-bordercolor gray10 -border 1\
-background black \( +clone -shadow 40x4+2+2 \) +swap \
-background none -flatten -gravity North -extent "$geometry_extent" \
"$photo"
fi
exit