Page 6 sur 88

Publié : ven. 15 août 2008, 14:18
par chipster
PierreAd a écrit :Pour le A dans le terminal, voir ici : http://pastebin.archlinux.fr/193786
Si tu nommes ce script infos.pl, il faut le lancer avec :

Code : Tout sélectionner

perl infos.pl
Sinon chipster tous les "composants" utilisés sont indiqués par ce script justement (icones, gtk, wallpaper, police, ...) :) :roll:
Ok, je n'avais pas fait attention.
Autrement pour ne pas faire des perl ... sans arrêt un chmod +x xxxx.pl c'est mieux :D

Publié : ven. 15 août 2008, 14:20
par PierreAd
chipster a écrit :Autrement pour ne pas faire des perl ... sans arrêt un chmod +x xxxx.pl c'est mieux :D
Ah je savais pas que c'était possible, je pensais qu'on était obligé de passer par l'interpréteur a chaque fois comme en python...! Merci de l'info ;)

Publié : ven. 15 août 2008, 14:21
par chipster
Sur le pastebin ça risque de disparaître donc je pense qu'il vaut mieux en laisser une trace quelque part :

Perso pour le Switch en perl, je trouve ça un peu caca. Perso j'aurai mis un pointeur de fonction à la place en utilisant un hash ;-)

Code : Tout sélectionner

#!/usr/bin/perl
use Switch;
use strict;
use File::Basename;

####################
## Config options ##
####################

## What distro logo to use to use, Available "Archlinux Debian Ubuntu None" ##
my $distro = "Archlinux";
my $myArchVersion = "ArchLinux (Core Dump)";

## what values to display. Use "OS Kernel DE WM win_theme Theme Font Icons" ##
my $display = "OS Kernel DE WM Win_theme Theme Icons Font Background";

## Takes a screen shot if set to 0 ##
my $shot = 0;
## Command to run to take screen shot ##
my $command = "scrot -d 10";

## What colors to use for the variables. ##
my $textcolor = "\e[0m";

## Prints little debugging messages if set to 0 ##
my $quite = 1;



########################
## Script starts here ##
########################
## Define some thing to work with strict ##
my @line = ();
my $found = 0;
my $DE = "NONE";
my $WM = "Beryl";

## Hash of WMs and the process they run ##
my %WMlist = ("Beryl", "beryl",
              "Fluxbox", "fluxbox",
              "Openbox", "openbox",
              "Blackbox", "blackbox",
              "Xfwm4", "xfwm4",
              "Metacity", "metacity",
              "Kwin", "kwin",
              "FVWM", "fvwm",
              "Enlightenment", "enlightenment",
              "IceWM", "icewm",
              "Window Maker", "wmaker",
              "PekWM","pekwm" );

## Hash of DEs and the process they run ##     
my %DElist = ("Gnome", "gnome-session",
              "Xfce4", "xfce-mcs-manage",
              "KDE", "ksmserver");

## Get Kernel version ##
if ( $display =~ "Kernel"){
  print "\::$textcolor Finding Kernel version\n" unless $quite == 1;
  my $kernel = `uname -r`;
  $kernel =~ s/\s+/ /g;
  $kernel = " Kernel:$textcolor $kernel";
  push(@line, "$kernel");
}

## Find running processes ##
print "\::$textcolor Getting processes \n" unless $quite == 1;
my $processes = `ps -A | awk {'print \$4'}`;

## Find DE ##
while( (my $DEname, my $DEprocess) = each(%DElist) ) {
  print "\::$textcolor Testing $DEname process: $DEprocess \n" unless $quite == 1;
  if ( $processes =~ m/$DEprocess/ ) {
    $DE = $DEname;
    print "\::$textcolor DE found as $DE\n" unless $quite == 1;
    if( $display =~ m/DE/ ) {
      push(@line, " DE:$textcolor $DE");
    }
    last;
  }
}

## Find WM ##
while( (my $WMname, my $WMprocess) = each(%WMlist) ) {
 print "\::$textcolor Testing $WMname process: $WMprocess \n" unless $quite == 1;
  if ( $processes =~ m/$WMprocess/ ) {
    $WM = $WMname;
    print "\::$textcolor WM found as $WM\n" unless $quite == 1;
    if( $display =~ m/WM/ ) {
      push(@line, " WM:$textcolor $WM");
    }
    last;
  }
}

## Find WM theme ##
if ( $display =~ m/Win_theme/ ){
  switch($WM) {
    case "Openbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.config/openbox/rc.xml")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /<name>(.+)<\/name>/ ) {
          while ( $found == 0 ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
            $found = 1;
          }
        }
      }
      close(FILE);
    }
    case "Metacity" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      my $gconf = `gconftool-2 -g /apps/metacity/general/theme`;
      print "\::$textcolor $WM theme found as $gconf\n" unless $quite == 1;
      chomp ($gconf);
      push(@line, " WM Theme:$textcolor $gconf");
    }
    case "Fluxbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.fluxbox/init")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /session.styleFile:.*\/(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Blackbox" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.blackboxrc")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /session.styleFile:.*\/(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Xfwm4" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.config/xfce4/mcs_settings/xfwm4.xml")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /<option name="Xfwm\/ThemeName" type="string" value="(.+)"\/>/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
  } 
      close(FILE);
    }
    case "Kwin" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.kde/share/config/kwinrc")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /PluginLib=kwin3_(.+)/ ) {
          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
          push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE);
    }
    case "Enlightenment" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      my $remote = `enlightenment_remote -theme-get theme` ;
      if( $remote =~ m/.*FILE="(.+).edj"/ ) {
        print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
        push(@line, " WM Theme:$textcolor $1");
      }     
    }       
    case "IceWM" { 
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.icewm/theme")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /Theme="(.+)\/.*.theme/ ) {
          while( $found == 0 ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
            $found = 1;
          }
        }
      }   
      close(FILE);
    }   
    case "PekWM" {
      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.pekwm/config")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
        if( /Theme.*\/(.*)"/ ) {
            print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
            push(@line, " WM Theme:$textcolor $1");
        }
      }
      close(FILE); 
    } 
  }   
}     
      
## Find Theme Icon and Font ##
if ( $display =~ m/[Theme, Icons, Font, Background]/) {
  switch($DE) {
    case "Gnome" {
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      if ( $display =~ m/Theme/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/gtk_theme`;
        chomp ($gconf);
        print "\::$textcolor GTK Theme found as $1\n" unless $quite == 1;
        push(@line, " GTK Theme:$textcolor $gconf");
      }
      if ( $display =~ m/Icons/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/icon_theme`;
        chomp ($gconf);
        push(@line, " Icons:$textcolor $gconf");
      } 
      if ( $display =~ m/Font/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/interface/font_name`;
        chomp ($gconf);
        push(@line, " Font:$textcolor $gconf");
      }
	  if ( $display =~ m/Background/ ) {
        my $gconf = `gconftool-2 -g /desktop/gnome/background/picture_filename`;
        chomp ($gconf);
		my $bname = basename($gconf);
		push(@line, " Background:$textcolor $bname");
      }

    } 
    case "Xfce4" {
      my @sort = ();
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.config/xfce4/mcs_settings/gtk.xml")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) {
     if ( $display =~ m/Theme/ ) {
          if (/<option name="Net\/ThemeName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor GTK Theme found as $1\n" unless $quite == 1;
            unshift(@sort, " GTK Theme:$textcolor $1");
          } 
        }
        if ( $display =~ m/Icons/ ) {
          if (/<option name="Net\/IconThemeName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor Icons found as $1\n" unless $quite == 1;
            unshift(@sort, " Icons:$textcolor $1");
          }
        }
        if ( $display =~ m/Font/ ) {
          if ( /<option name="Gtk\/FontName" type="string" value="(.+)"\/>/ ) {
            print "\::$textcolor Font found as $1\n" unless $quite == 1;
            unshift(@sort, " Font:$textcolor $1");
          } 
        }
      }
      close(FILE);
      ## Sort variables so they're ordered "Theme Icon Font" ##
      foreach my $i (@sort) {
        push(@line, "$i");
      }
    } 
    case "KDE" { 
      print "\::$textcolor Finding $DE variables\n" unless $quite == 1;
      open(FILE, "$ENV{HOME}/.kde/share/config/kdeglobals")
      || die "\e[0;31m<Failed>\n";
      while( <FILE> ) { 
        if ( $display =~ m/Theme/ ) {
          if ( /widgetStyle=(.+)/  ) {
            print "\::$textcolor Wiget Style found as $1\n" unless $quite == 1;
            push(@line, " Wiget Style:$textcolor $1");
          }
          if (/colorScheme=(.+).kcsrc/ ) {
            print "\::$textcolor Color Scheme found as $1\n" unless $quite == 1;
            push(@line, " Color Scheme:$textcolor $1");
          }
        }
        if ( $display =~ m/Icons/ ) {
          if ( /Theme=(.+)/ ) {
            print "\::$textcolor Icons found as $1\n" unless $quite == 1;
            push(@line, " Icons:$textcolor $1");
          } 
        }   
        if ( $display =~ m/Font/ ) {
          if ( /font=(.+)/ ) {
            my $font = (split/,/, $1)[0];
            print "\::$textcolor Font found as $font\n" unless $quite == 1;
            push(@line, " Font:$textcolor $font");
          }
        }
      }
      close(FILE);
  
    }
    else {
      my @files = ("$ENV{HOME}/.gtkrc-2.0", "$ENV{HOME}/.gtkrc.mine",);
      foreach my $file (@files) {
        if ( -e $file ) {
          print "\::$textcolor Opening $file\n" unless $quite == 1; 
          open(FILE, $file)
          || die "\e[0;31m<Failed>\n";
          while( <FILE> ) {
            if ( $display =~ m/Theme/ ) {
              if( /include ".*themes\/(.+)\/gtk-(1|2)\.0\/gtkrc"/ ){
                print "\::$textcolor GTK theme found as $1\n" unless $quite == 1;
                push(@line, " GTK Theme:$textcolor $1");
              }
            }
            if ( $display =~ m/Icons/ ) {
              if( /.*gtk-icon-theme-name.*"(.+)"/ ) {
                print "\::$textcolor Icons found as $1\n" unless $quite == 1;
                push(@line, " Icons:$textcolor $1");
              }
            }
            if ( $display =~ m/Font/ ) {
              if( /.*gtk-font-name.*"(.+)"/ ) {
                print "\::$textcolor Font found as $1\n" unless $quite == 1;
                push(@line, " Font:$textcolor $1");
             }
            }
          }
          close(FILE);
        }
      }
    }
  }
}

## Display the system info ##

if ( $distro =~ m/Archlinux/ ) {

## Get Archlinux version ##
if ( $display =~ "OS"){
  print "\::$textcolor Finding Archlinux version\n" unless $quite == 1;
  my $version = $myArchVersion;
  $version =~ s/\s+/ /g;
  $version = " OS:$textcolor $version";
  unshift(@line, "$version");
}

#my $c1 = "\e[38;5;47m";
#my $c3 = "\e[38;5;26m";
#my $c2 = "\e[1m";

my $c1 = "\e[1;34m";
my $c3 = "\e[0;34m";
my $c2 = "\e[1m";

print "$c1
$c1               +             
$c1               #             
$c1              ###               $c2@line[0] 
$c1             #####              $c2@line[1]
$c1             ######             $c2@line[2]
$c1            ; #####;            $c2@line[3]
$c1           +##.#####            $c2@line[4]
$c1          +##########           $c2@line[5]
$c1         ######$c3#####$c1##;         $c2@line[6]       
$c1        ###$c3############$c1+        $c2@line[7] 
$c1       #$c3######   #######        $c2@line[8]
$c3     .######;     ;###;`\".     
$c3    .#######;     ;#####.    
$c3    #########.   .########`     
$c3   ######'           '######   
$c3  ;####                 ####;  
$c3  ##'                     '##  
$c3 #'                         `# 
$c3'                            `
\e[0m";
}


if ( $distro =~ m/None/ ) {
my $color = "\e[0;34m";
  foreach my $filled ( @line ) {
    print "$color $filled\n"
  }
}

if ( $distro =~ m/Debian/ ) {

## Get Debian version ##
if ( $display =~ "OS"){
  print "\::$textcolor Finding Debian version\n" unless $quite == 1;
  my $version = `cat /etc/Debian_release`;
  $version =~ s/\s+/ /g;
  $version = " OS:$textcolor $version";
  unshift(@line, "$version");
}

my $c1 = "\e[0;31m";

print "
$c1       _,met\$\$\$\$\$gg.
$c1    ,g\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$P.
$c1  ,g\$\$P\"\"       \"\"\"Y\$\$.\".              @line[0]
$c1 ,\$\$P'              \`\$\$\$.              @line[1]
$c1',\$\$P       ,ggs.     \`\$\$b:            @line[2]
$c1\`d\$\$'     ,\$P\"'   .    \$\$\$             @line[3]
$c1 \$\$P      d\$'     ,    \$\$P             @line[4]
$c1 \$\$:      \$\$.   -    ,d\$\$'             @line[5]
$c1 \$\$\;      Y\$b._   _,d\$P'               @line[6]
$c1 Y\$\$.    \`.\`\"Y\$\$\$\$P\"'                  @line[7]
$c1 \`\$\$b      \"-.__                       @line[8]
$c1  \`Y\$\$
$c1   \`Y\$\$.
$c1     \`\$\$b.
$c1       \`Y\$\$b.
$c1          \`\"Y\$b._
$c1              \`\"\"\"\"
\e[0m";   
}       

if ( $distro =~ m/Ubuntu/ ) {

## Get Ubuntu version ##
if ( $display =~ "OS"){
  print "\::$textcolor Finding Ubuntu version\n" unless $quite == 1;
  my $version = `head -3 /etc/lsb-release |cut -d"=" -f2`;
  $version =~ s/\s+/ /g;
  $version = " OS:$textcolor $version";
  unshift(@line, "$version");
}

my $c1 = "\e[0;31m";
my $c2 = "\e[0;33m";
my $c3 = "\e[0;35m";

print "
               $c1.-. 
         $c3.-'``$c1(   )     @line[0]
      $c2,` $c3      $c1`-'$c3.$c1     @line[1]
     $c2/    $c3'``-.   `$c1     @line[2]
   $c3.-.  $c2,       $c3`___:$c1     @line[3]
  $c3(   )$c2:        $c1 ___      @line[4]
   $c3`-'  $c2`       $c1,   :     @line[5]
     $c2`    $c1`..-`   ,     @line[6]
      $c2`./ $c1     $c2.-.$c1`     @line[7]
         $c1`-..-$c2(   )$c1     @line[8]
               $c2`-' 
\e[0m"; 
}

#return 0;      
## Run screen shot graper ##
`$command` unless $shot != 0;

Publié : ven. 15 août 2008, 15:03
par PierreAd
Perso j'aime pas trop perl :p

Pour le pastebin j'avais mis "garder pour toujours" pourtant ? :)

Publié : ven. 15 août 2008, 15:18
par chipster
PierreAd a écrit :Perso j'aime pas trop perl :p

Pour le pastebin j'avais mis "garder pour toujours" pourtant ? :)
Pourtant pour faire de l'administration perl est le plus adapté et le plus rapide par la même occase

Ok, cependant vu tout le spam qu'il y a je préfère en garder une trace sur le forum car il est possible qu'on le vidange avant qu'il nous explose à la figure 8)

Publié : lun. 18 août 2008, 19:40
par SND
Je suis sous Gnome avec Metacity ( bientôt Openbox )

Toujours simple :

Image

1440*900 :
http://images.imagup.com/05/1219086051_tux2.png

Publié : sam. 23 août 2008, 13:46
par AddiKT1ve
Image

Publié : sam. 23 août 2008, 14:05
par wain
chipster a écrit :Ok, cependant vu tout le spam qu'il y a je préfère en garder une trace sur le forum car il est possible qu'on le vidange avant qu'il nous explose à la figure 8)
Je confirme, on supprime régulièrement les posts qui contiennent des "href" pour vider le spam. Biensûr il est prévu d'améliorer le système, mais tout est une question de temps :D

Publié : sam. 23 août 2008, 14:21
par SND
Moi j'ai viré gnome et tout le reste. J'ai remit Xfce.

Je sais lequel je mettrais sur mon portable.

Pour mon frère je vais lui mettre Kde je pense.

Publié : sam. 23 août 2008, 15:13
par AddiKT1ve
Moi ça me saoule, quand je vois des bureaux Openbox je me dis zomg je veux le même, mais dès que je me retrouve face à ob + pypanel, bah, je bloque.

J'aurais quand même deux questions : où trouvez-vous vos décos de fenêtres, et peut-on activer le compositing (en fait, l'ombre et la vraie transparence, quoi).

Publié : sam. 23 août 2008, 16:01
par PierreAd
wain a écrit :
chipster a écrit :Ok, cependant vu tout le spam qu'il y a je préfère en garder une trace sur le forum car il est possible qu'on le vidange avant qu'il nous explose à la figure 8)
Je confirme, on supprime régulièrement les posts qui contiennent des "href" pour vider le spam. Biensûr il est prévu d'améliorer le système, mais tout est une question de temps :D
No problem, je savais pas ;)

Sinon nouveau bureau pour moi aussi :D
Finalement, plus ça va et moins je suis tenté par Openbox et cie quand je vois les bureaux qu'on obtient sous Gnome :)

Image

Pour les décos de fenêtre sous Openbox, il y a boxlook.org (ou quelque chose comme ça, l'équivalent de gnome-look.org, xfce-look.org, ...) entre autres !

Publié : sam. 23 août 2008, 16:50
par AddiKT1ve
Bien joli tout ça ;) !

Publié : sam. 23 août 2008, 16:57
par PierreAd
AddiKT1ve a écrit :Bien joli tout ça ;) !
Merci :D

Publié : dim. 24 août 2008, 00:10
par froli
AddiKT1ve a écrit :Moi ça me saoule, quand je vois des bureaux Openbox je me dis zomg je veux le même, mais dès que je me retrouve face à ob + pypanel, bah, je bloque.

J'aurais quand même deux questions : où trouvez-vous vos décos de fenêtres, et peut-on activer le compositing (en fait, l'ombre et la vraie transparence, quoi).
Moi aussi je bloquais au début, mais on s'y fait.

Pour les thèmes Openbox, il y a http://box-look.org

Pour le compositing, il y xcompmgr qui fait très bien. Très basique, mais il est très léger.

Publié : dim. 24 août 2008, 11:49
par AddiKT1ve
Non mais je vais m'y mettre, je vais m'y mettre :)

À vrai dire là ce que je voudrais voir de plus près, c'est awesome (ou ion3, à la limite). Seulement, je pense qu'il vaut mieux avoir une grosse résolution pour s'en servir correctement (1280*800 chez moi :?)...

Publié : dim. 24 août 2008, 13:35
par IdoMcFly
AddiKT1ve a écrit :Non mais je vais m'y mettre, je vais m'y mettre :)

À vrai dire là ce que je voudrais voir de plus près, c'est awesome (ou ion3, à la limite). Seulement, je pense qu'il vaut mieux avoir une grosse résolution pour s'en servir correctement (1280*800 chez moi :?)...
pourquoi tu bloque ?
moi je vais tester mpd là pour finir mon conky.
Je me demande s'il est aussi puissant que quodlibet (recherche à base de regexp)

ne pas oublier XMonad dans le genre d'awesome et ion3

Publié : dim. 24 août 2008, 13:55
par AddiKT1ve
Je ne sais pas pourquoi je bloque, ça doit venir de mon humeur du moment :D

Publié : dim. 24 août 2008, 16:41
par froli
AddiKT1ve a écrit :Je ne sais pas pourquoi je bloque, ça doit venir de mon humeur du moment :D
Changement d'habitudes... C'est aussi "con" que cela :P

Publié : dim. 24 août 2008, 16:47
par AddiKT1ve
Bon alors là pour changer, j'ai changé :p... Je suis passé à Awesome. Et c'est awesome.

J'ai ouvert un thread plus bas ;).

Publié : dim. 24 août 2008, 18:32
par froli
Encore Openbox ;)

Image