Papéis de parede aleatórios direto da internet

Publicado por M4iir1c10 (última atualização em 25/09/2009)

[ Hits: 7.430 ]

Homepage: https://github.com/mauricioph

Download xmlwall




Para quem não conhece, o http://interfacelift.com é um excelente website de papéis de parede de alta qualidade e muito bonitos, agora imagine um script que faz o download automático dos papéis de parede desse website e já os ativa na sua área de trabalho?

É isso o que esse script faz no Fluxbox, KDE, Gnome e E17, ou seja, a cada vez que você rodar esse script será surpreendido com um novo e belo papel de parede.

  



Esconder código-fonte

#!/bin/bash
# Esse script faz o download dos ultimos papeis de parede publicados
# no website http://interfacelift.com e ativa no desktop dos seguintes
# gerenciadores de janelas:
# Fluxbox
# Gnome
# KDE
# E17
# Todos os papeis de paredes sao salvos em ~/.fluxbox/backgrounds
# caso vc nao tenha o fluxbox ou a pasta de papeis de parede
# fique avontade para modificar o codigo de acordo com suas nescessidades
# se vc esta lendo so de curioso e nao sabe mexer em codigos, aconselho a 
# criar a pasta para os papeis de parade em ~/.fluxbox/backgrounds
# com o comando 
# mkdir ~/.fluxbox
# mkdir ~/.fluxbox/backgrounds
# script criado por Mauricio ( A.K.A m4iir1c1o )
# http://www.vivaolinux.com.br/~m4iir1c10

xmlfile="http://interfacelift.com/wallpaper_beta/rss/";
wget $xmlfile -O /tmp/index.xml
cat /tmp/index.xml | sed -e 's/<img src="/\n\n/g' | sed -e 's/.jpg"/.jpg\n\n/g' > /tmp/xml2

# no proximo comando mude o numero 1024x768 para a resolucao da sua tela
# as resolucoes aceitas sao:
# Monitores 16:9 1920x1200, 1680x1050, 1440x900, 1280x800
# Monitores 4:3 1600x1200, 1400x1050, 1280x960, 1024x768
# Monitores 5:4 1280x1024
# HDTV 1280x720, 1920x1080
# duplo monitores 2560x1024

cat /tmp/xml2 | sed '/^http/!d' | sed 's/previews/dl/g' | sed 's/.jpg/_1024x768.jpg/g' > /tmp/xml3

quant=$(cat /tmp/xml3 | wc -l)
while [ "$quant" != "1" ]
do nome=$(basename $(sed -n $(echo $quant)p /tmp/xml3))
if [ -f ~/.fluxbox/backgrounds/$nome ]
then echo "ja tenho"
else wget $(sed -n $(echo $quant)p /tmp/xml3) --user-agent "Mozilla/Firefox" -O ~/.fluxbox/backgrounds/$nome
fi
let quant=$(($quant - 1))
done
entrada=$(echo $DESKTOP_SESSION)
if [ "$nome" != "" ]
then
#comando para ativar o wallpaper de acordo com o wm
#
if [ "$entrada" = "kde" ];then dcop kdesktop KBackgroundIface setWallpaper ~/.fluxbox/backgrounds/$nome 1
else if [ "$entrada" = "gnome" ];then gconftool-2 -t string -s /desktop/gnome/background/picture_filename ~/.fluxbox/backgrounds/$nome 
else if [ "$entrada" = "fluxbox" ];then display -geometry 1024x768+0+0 -window root ~/.fluxbox/backgrounds/$nome
else if [ "$entrada" = "e17" ];then Esetroot -s ~/.fluxbox/backgrounds/$nome
fi
fi
fi
fi
else let nome=$(ls ~/.fluxbox/backgrounds/ | sed -n 1p)
# repita o comando selecionado acima, nesta linha abaixo.
if [ "$entrada" = "kde" ];then dcop kdesktop KBackgroundIface setWallpaper ~/.fluxbox/backgrounds/$nome 1
else if [ "$entrada" = "gnome" ];then gconftool-2 -t string -s /desktop/gnome/background/picture_filename ~/.fluxbox/backgrounds/$nome 
else if [ "$entrada" = "fluxbox" ];then display -geometry 1024x768+0+0 -window root ~/.fluxbox/backgrounds/$nome
else if [ "$entrada" = "e17" ];then Esetroot -s ~/.fluxbox/backgrounds/$nome
fi
fi
fi
fi
fi
rm /tmp/index.xml
rm /tmp/xml2
cat /tmp/xml3

Scripts recomendados

Speedy

Plugin para Nagios

Get Tool

Gerenciar usuários do OpenLDAP com Sistema ZIMBRA

Download de vídeos do Youtube


  

Comentários
[1] Comentário enviado por humbhenri em 25/09/2009 - 21:52h

Bacanudo, alterei a pasta e já estou usando.

[2] Comentário enviado por m4iir1c10 em 26/09/2009 - 01:12h

So uma correcao pessoal, se o seu env nao tem a variavel DESKTOP_SESSION substitua

entrada=$(echo $DESKTOP_SESSION)

por

entrada=$(zenity --entry --text "nome da vm")
no gnome e outras

entrada=$(kdialog --inputbox "nome da vm")
no kde


Contribuir com comentário