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

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