você está aqui: Home  → Arquivo de Mensagens

Galeria de papéis de parede aleatórios no GNOME

Colaboração: Juan Carlos Castro y Castro

Data de Publicação: 13 de Fevereiro de 2005

Uma configuração de área de trabalho que existe no KDE mas não no GNOME é a seguinte: podemos definir uma coleção de papéis de parede e configurar o desktop para mudar automaticamente de tanto em tanto tempo, dentro das imagens da coleção.

Através deste script, podemos replicar este comportamento no GNOME. Fazemos uso do comando gconftool-2, que a grosso modo é um "regedit" do GNOME. Entre as (muitas) coisas que ele é capaz de fazer, está mudar o papel de parede por linha de comando.

Definimos um diretório para guardar as várias imagens de papel de parede. No exemplo abaixo, usamos o subdiretório "wallpapers" embaixo do home de cada usuário. O script embutido na linguagem AWK recupera um item aleatório desse diretório, e o resultado é passado para o gconftool-2.

O script toma o cuidado de "matar" quaisquer instâncias anteriores dele próprio que estejam ativas, e pode ser desativado sendo chamado com o parâmetro "-k".

Para ativá-lo por padrão,

1) Mude as permissões para permitir execução:

  chmod a+x wpcycle.sh

2) Copie o script para um diretório com acesso para todos os usuários (/usr/local/bin por exemplo)

3) No menu do GNOME, entre em Preferências -> Sessões (ou Preferências -> Mais Preferências -> Sessões).

4) Na aba "Programas Iniciais", adicione uma chamada para o wpcycle.sh.

5) Ajuste o intervalo de troca a seu bel prazer. Eu uso 1800 segundos (meia hora). Os números "quebrados" são para facilitar a busca por outros processos que estejam rodando. Por exemplo, para 10 minutos você poderia usar 600.093.

6) Popule o diretório ~/wallpapers com os seus wallpapers preferidos.

7) Dê logout e login no GNOME e divirta-se!

P.S.: O comando "sleep" é rodado no idioma inglês porque, se o seu sistema estiver configurado para português, ele exige que números decimais sejam separados por vírgula em vez de ponto.

P.P.S.: A técnica de extrair um determinado arquivo aleatório de um diretório pode ser útil para outros fins. Use sua imaginação. ;)

P.P.P.S: O pessoal do GNOME bem que poderia implementar isto nativamente, que nem no KDE.

P.P.P.P.S.: Chega de P.S.'s. Já tem demais.

  #!/bin/sh
  #
  # wpcycle.sh - gira papeis de parede no GNOME 2.x
  #
  
  WPCINTERVAL=1799.987
  WPDIR=~/wallpapers
  
  THISPROG=``basename $0``
  THISUID=``id -u``
  
  if [ 0$THISUID -eq 0 ]
  then
         exit 0
  fi
  kill ``/sbin/pidof -x -o $$ $THISPROG`` >/dev/null 2>&1
  
  if [ "$1" = "-k" ]
  then
         kill ``ps ax | grep "sleep $WPCINTERVAL$" | awk '{print $1}'`` >/dev/null 2>&1
         exit 0
  fi
  
  cd $WPDIR
  
  while [ 1 ]
  do
         WPFILE=`ls *.jpg | awk '
                 BEGIN {
                 nfiles = 0;
         }
  
         {
                 wplist[nfiles++] = $0;
         }
  
         END {
                 srand();
                 print wplist[int(nfiles * rand())];
         }'`
  
         gconftool-2 --type string -s /desktop/gnome/background/picture_filename "$PWD/$WPFILE"
         LANG=en sleep $WPCINTERVAL
  done


 

 

Veja a relação completa dos artigos de Juan Carlos Castro y Castro

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script