Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Programa para Mudança do Papel de Parede em Desktop Linux

Colaboração: Jansen Carlo Sena

Data de Publicação: 09 de Janeiro de 2002

O Jansen me enviou um script em perl, que pode ser incluído no arquivo bash_profile do diretório de trabalho de um usuário para alternar aleatoriamente o papel de parede sempre que se usar o ambiente Gnome.

O script em perl encontra-se a seguir:


  #!/usr/bin/perl
  #
  # Copyright 2001 Jansen Sena
  #
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
  # the Free Software Foundation; either version 2 of the License, or
  # (at your option) any later version.
  #
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU General Public License for more details.
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  #
  # -------------------------------------------------------------------------------- 
  #
  # Este script é utilizado para alternar os papéis de parede utilizados pelo Gnome
  # Sua execução pode ser feita a partir do arquivo .profile fazendo com que todas
  # as vezes que um usuário entre no Gnome, um novo papel de parede, escolhido
  # aleatoriamente, seja configurado.
  #
  # --------------------------------------------------------------------------------
  # 
  #
  $User_home = $ENV{'HOME'};
  $Gnome_directory = $User_home . "/.gnome";
  $Gnome_background_file = $Gnome_directory . "/Background";
  $Figures_directory = $User_home . "/wallpapers";
  #
  # Parameters evaluation
  #
  if (($#ARGV + 1) > 2 || ($#ARGV + 1) == 1) { 
      print "Parameters number invalid. Use ./wallpapers -d <wallpapers directory>\n";
      exit 1;
  }
  elsif ((($#ARGV + 1) == 2) && ($ARGV[0] ne "-d"))
  {
      print "Invalid parameter $ARGV[0]. Use ./wallpapers -d <wallpapers directory>\n";
      exit 1;
  }
  elsif ((($#ARGV + 1) == 2) && (! -e $ARGV[1]))
  {
      print "Directory $ARGV[1] no exists\n";
      exit 1;
  }
  elsif (($#ARGV + 1) == 2)
  {
      $Figures_directory = $ARGV[1];
  }
  #
  # Verify the files in figures directory
  #
  opendir(DIR,$Figures_directory) || die "Can't open $Figures_directory directory: $!\n";
  @Figure_files = readdir(DIR);
  closedir(DIR);
  $No_figure_files = @Figure_files;
  if ($No_figure_files == 2){
      print "The directory of wallpapers $ARGV[1] is empty\n";
      exit 1;
  }
  #
  # Verify the gnome directory and background file
  #
  if (! -e $Gnome_directory)
  {
      print "Gnome directory is not present in your homedir\n";
      exit 1;
  }
  if (! -e $Gnome_background_file)
  {
      print "Gnome background file is not present in $Gnome_directory directory\n";
      exit 1; 
  }
  #
  #
  open(FILE,"+<$Gnome_background_file") || die "Can't open $Gnome_background_file: $!\n";
  @Temp_file = <FILE>;
  close(FILE);
  $Count = -1;
  do 
  {
      $Count++;
      ($Field,$Value) = split(/=/,$Temp_file[$Count]);
  }
  until ($Field eq "wallpaper");
  #
  # Generate a random new wallpaper
  #
  srand(time|$$);
  $Index = 0;
  while ($Index == 0 || $Index == 1) {                                          # Evita a seleção dos diretórios "." e ".."
      $Index = int(rand $No_figure_files);
  }
  $Value = $Figures_directory . "/" . $Figure_files[$Index] . "\n";
  $Temp_file[$Count] = join('=',$Field,$Value);
  #
  # Save Background file with the new random wallpaper
  #
  open(FILE,">$Gnome_background_file");
  print FILE @Temp_file;
  close(FILE);
  exit 0;
  #
  #
  # End of script

Veja a relação completa dos artigos de Jansen Carlo Sena

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (619 votos)

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
Twitter, Chiclete e Camisinha


Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

DVDs - Submarino.com.br