Skip to content


GNOME i automatycznie zmieniające się tapety

Użytkownicy KDE mają od tego kawałek specjalnego kodu i opcję w konfiguracji. My mamy framework, który pozwala na zmontowanie tego typu funkcjonalności w trywialny sposób.

Na początek będziemy potrzebowali kawałka skryptu shellowego, który wylosuje i przełączy tapetę. Umieśćmy go w /home/smoku/bin/gnome2-random-background.bash:

#!/bin/bash
IMGS=/home/smoku/Images/Wallpapers/{,Girls,Widoki}/*.???
COUNT=`eval ls $IMGS | wc -l`
NUM=$(($RANDOM % $COUNT))
PIC=`eval ls -1 $IMGS | head -n$NUM | tail -n1`
gconftool-2 --type string  --set /desktop/gnome/background/picture_filename "$PIC"

Pierwsza linijka wybiera nam katalogi i pliki z podanej ścieżki i maski. Druga linijka liczy ile ich jest. Trzecia linijka losuje numer pliku. Czwarta linijka wycina linijkę o podanym numerze z listy plików. Cała magia zawiera się w linijce piątej. Zmieniamy tam wartość klucza gConf’a opisującego plik tapety, której ma używać desktop GNOME. Dzięki przemyślanej architekturze gConf’a, nie musimy robić już nic więcej. Wszystkie zainteresowane aplikacje zostaną natychmiast powiadomione o zmianie zawartości tego klucza i przeładują sobie tapetę (Nautilus), tło (gnome-terminal) itp.

Skrypcik możemy wywoływać sobie w dowolny sposób. Z aktywatora na panelu, z pozycji menu. Jeśli chcemy jednak mieć zmiany automatycznie co określony (np. 14 min.) czas, to od takich zadań jest w systemie demon cron. Dodajemy mu jedną linijkę (crontab -e) i już:

*/14 * * * *    /home/smoku/bin/gnome2-random-background.bash

Posted in HowTo.


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.