ZmieniajÄ…ca siÄ™ tapeta

Automatyczna zmiana tapety - obrazek pobierany z National Geographic

Nawet najładniejsza babka na tapecie po pewnym czasie się nudzi. Jeżeli masz dostęp do internetu online, można pokusić się o codzienną zmianę tapety na inną.

Ten dokument prezentuje automatyczne pobieranie obrazka z internetu. Jeżeli ma być wyświetlany obrazek ze zbioru zgromadzonych zdjęć na dysku - odsyłam do tego dokumentu

W tym przypadku wykorzystany został codziennie aktualizowany obrazek dnia z National Geographic.
Ponieważ mój laptop ma ekran panoramiczny 1280x800, dodane zostało jeszcze odpowiednie przeskalowanie obrazka. W używanym środowisku graficznym należy ustawić na stałe tapetę na plik /tmp/tapeta.jpg a poniższą zawartość umieścić w /etc/network/if-up.d w pliku tapeta:


    #!/bin/sh
    if [ x$IFACE != x"lo" ]; then
    
        TAPETA=/tmp/t.jpg
                            
        wget -q -O- "http://photography.nationalgeographic.com/photography/photo-of-the-day?nav=TOPNAV" \
            | grep /photography/wallpaper/ \
            | sed -r 's/.*href="(.*)">W.*/http:\/\/photography.nationalgeographic.com\1/g' \
            > /tmp/url
        
        wget -q -O- -i /tmp/url \
            | grep "1280 x 1024" \
            | sed -r 's/.*href="(.*)"><img.*/http:\/\/photography.nationalgeographic.com\1/g' \
            > /tmp/url1
    
        if [ -s /tmp/url1 ]; then
            wget -i /tmp/url1 -O $TAPETA > /dev/null 2>&1
            if [ -s $TAPETA ]; then
                    convert $TAPETA -crop 1280x800+0+80 /tmp/t1.jpg
            fi
        else
            wget -q -O- -i /tmp/url \
                | grep "1024 x 768" \
                | sed -r 's/.*href="(.*)"><img.*/http:\/\/photography.nationalgeographic.com\1/g' \
                > /tmp/url1
            wget -i /tmp/url1 -O $TAPETA > /dev/null 2>&1
            if [ -s $TAPETA ]; then
                convert $TAPETA -filter lanczos -resize 1280x960 -quality 95 -unsharp 0.6x0.6+0.8+0.003 -crop 1280x800+0+80 /tmp/t1.jpg
            fi
        fi
        rm -f /tmp/url
        rm -f /tmp/url1
        rm $TAPETA
        if [ -s /tmp/t1.jpg ]; then
            mv /tmp/t1.jpg /tmp/tapeta.jpg
        fi
    fi

Pomysł pochodzi z grupy p.c.o.l. Codziennie świeża tapeta :)

Oczywiście nie zapominamy o odpowiednich prawach do pliku, czyli


    chmod 777 /etc/network/if-up.d/tapeta