Eu estava marcando no calendário em minha mesa quantos dias faltavam para um evento. Mas como não tenho muita disciplina para todos os dias ficar atualizando o calendário resolvi fazer um script para que o número de dias restantes fosse mostrado junto com a imagem de fundo do meu desktop.
Basicamente o que o código faz é calcular a diferença em dias entre hoje e a data marcada e criar um novo arquivo mesclando uma imagem com o texto.
atualizafundo.sh #!/bin/bash data="05/01/11" #data no formato mm/dd/yy imagemfundo=/home/user/images/wallpaper.jpg imagemsaida=/home/user/images/imagem_cont.jpg ############################### agora=$(date +%d/%m/%y) diashoje=$(date +%j) diasdata=$(date -d$data +%j) diasdif=$((10#$diasdata-10#$diashoje)) convert $imagemfundo -fill white -stroke black -pointsize 450 -gravity NorthEast -draw "text 50,100 '$diasdif' " -pointsize 175 -draw "text 100,475 'dias'" $imagemsaida gconftool-2 --type string --set /desktop/gnome/background/picture_filename $imagemsaida
A escrita do texto na imagem é feita com o comando convert (pacote imagemagick) que pode ser modificado conforme o seu gosto.
O comando gconftool-2 coloca a imagem gerada como papel de parede.
Abaixo segue um exemplo do resultado do script, executado no Ubuntu 10.04.
Para que o fundo seja atualizado a cada logon o script pode ser adicionado aos Aplicativos de Sessão, no menu Sistema -> Preferências.