Flickr como Protetor de Tela no OS X
Publicado em 11 de setembro de 2015
Em Fotografia, OS X, Programação
Apesar de ser um feliz usuário dos produtos da Apple, algumas limitações impostas por ela me chateiam. A última foi com relação às proteções de tela do OS X. Mesmo existindo uma integração do sistema operacional com o Flickr, não encontrei uma maneira fácil de utilizar minha galeria como protetor.
Pesquisando no Google, encontrei o post do Matt Brock: How to use Flickr favourites as your screensaver in OS X. Testei a solução proposta por ele e fiz algumas adaptações, vamos a elas.
Ambiente
Como todo bom mágico, você precisará preparar o ambiente antes de fazer o truque.
Abra o Terminal (se você não sabe como fazer isso, pare por aqui) e execute mkdir ~/Library/Scripts
, este comando criará a pasta Scripts dentro do diretório Library do seu usuário.
Codificação
Execute nano ~/Library/Scripts/get_flickr_photostream.sh
, que criará o arquivo Bash e abrirá o editor de texto. Copie e cole o código abaixo e salve o arquivo.
#!/bin/bash logger "get_flickr_photostream: Started" mkdir -p ~/Pictures/Galeries/Flickr if ! cd ~/Pictures/Galeries/Flickr ; then logger "get_flickr_photostream: Failed to open ~/Pictures/Galeries/Flickr" exit 1 fi if ! curl -s "http://api.flickr.com/" > /dev/null 2>&1 ; then logger "get_flickr_photostream: Failed to connect with Yahoo API" exit 1 fi curl -s "https://api.flickr.com/services/feeds/photos_public.gne?id=YOUR_FLICKR_USERID" | grep 'rel="enclosure"' | awk -F '"' '{print $6}' | while read image_url ; do image_name=${image_url#*://} image_name=${image_name##*/} if [ ! -f $image_name ] ; then if curl -s -O $image_url > /dev/null 2>&1 ; then logger "get_flickr_photostream: Downloaded file $image_name" fi fi done logger "get_flickr_photostream: Completed"
Este código criará as pastas Galeries/Flickr dentro da pasta Pictures do seu usuário, Caso queira alterar o local, o nome e/ou a hierarquia substitua todas as aparições de ~/Pictures/Galeries/Flickr
pelo que for mais conveniente. Depois o código acessará a API do Flickr e salvará suas últimas fotos públicas, para isso você precisará substituir “YOUR_FLICKR_USERID” pelo ID da sua conta no Flickr. Caso não saiba a sua ID, pesquise-a em idGettr.
Depois de definido o código da aplicação, você precisará definir as permissões de acesso. Execute chmod 755 ~/Library/Scripts/get_flickr_photostream.sh
.
Para testar o Bash, execute ~/Library/Scripts/get_flickr_photostream.sh
.
Agendamento
Há algumas formas de agendar uma tarefa no OS X. Seguindo o exemplo do Matt Brock, escolhi utilizar o Launchd. Execute nano ~/Library/LaunchAgents/br.com.kleberkihara.flickr_photostream.plist
, copie e cole o código abaixo e salve o arquivo.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>br.com.kleberkihara.flickr_photostream</string> <key>Program</key> <string>/Users/YOUR_USERNAME/Library/Scripts/get_flickr_photostream.sh</string> <key>StartCalendarInterval</key> <dict> <key>Minute</key> <integer>0</integer> <key>Hour</key> <integer>9</integer> </dict> <key>Debug</key> <true/> <key>AbandonProcessGroup</key> <true/> </dict> </plist>
Infelizmente no arquivo Plist não pode ser usado o atalho ~/
, portanto você precisará substituir “YOUR_USERNAME” pelo nome do seu usuário. Caso você não saiba qual é o nome, execute echo $USER
.
Depois de definido o agendamento, você precisará informá-lo pro sistema operacional. Execute launchctl load ~/Library/LaunchAgents/br.com.kleberkihara.flickr_photostream.plist
.
Configuração
Pronto! Agora basta você configurar a proteção de tela de sua escolha e definir a pasta usada pela aplicação.
Personalização
Caso você queira outras opções de galerias do Flickr: App Garden. Neste tutorial eu utilizei o Feed Público, mas há diversas opções. Por exemplo, no tutorial do Matt Brock ele utiliza o Feed de Fotos Favoritas.