Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Entorno gráfico » Screenshots


Nuevo tema Responder al tema
 [ 8 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Jue Feb 12, 2009 12:00 am
Mensajes: 131

Nota Publicado: Jue May 07, 2009 2:16 pm 
Arriba  
Imagen

La data esta en el screen

Programas funcionando:

Xfce4-terminal, MPD+Ncmpcpp, Swiftfox, Thunar

_________________
cuantos menos iconos mejor....


Última edición por Ayax el Vie Jun 18, 2010 6:10 pm, editado 1 vez en total
Mensaje editado por incluir imagenes muy grandes. Por favor, usa miniatura en lugar de la imagen normal

 Perfil  

Desconectado
Forista Mayor
Forista Mayor
Avatar de Usuario

Registrado: Mar Ene 06, 2009 12:00 am
Mensajes: 532

Nota Publicado: Sab May 09, 2009 3:36 pm 
Arriba  
jejeje yo lo miro bueno

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Sab Mar 08, 2008 12:00 am
Mensajes: 286
Ubicación: Colombia/Bogotá/home

Nota Publicado: Sab May 09, 2009 3:54 pm 
Arriba  
:D me gusto muchisimo tu escritorio, ya me antoje de xfce *¬*

_________________
Be Original, Be Free, Be GNU/Linux.
Iguazo Made in: Chibchombia
Visite esta cochinada!

 Perfil  

Desconectado
Ganador CSEL 2009
Ganador CSEL 2009
Avatar de Usuario

Registrado: Mar Mar 25, 2008 12:00 am
Mensajes: 666
Ubicación: Mexico; Veracruz; Minatitlan

Nota Publicado: Dom May 10, 2009 5:25 pm 
Arriba  
orale!!! te quedo chido!!!!!!

sere tu fan!!!!


pero al principio cre que era flux :'-(


pero se ve bien ]:-)

el wall me gusto, a ver si lo rolas :P


ioes como hicistes para configurar MPD+Ncmpcpp como que a mi no me sale, quisas tengo un error por ahi


saludos!!

_________________
visita:

http://www.zer0-azucar.blogspot.com/

http://gorylong.blogspot.com

 Perfil WWW  

Desconectado
Ganador CSEL 2009
Ganador CSEL 2009
Avatar de Usuario

Registrado: Mar Mar 25, 2008 12:00 am
Mensajes: 666
Ubicación: Mexico; Veracruz; Minatitlan

Nota Publicado: Dom May 10, 2009 5:26 pm 
Arriba  
oyes que onda con el comando ese de infodristro?

_________________
visita:

http://www.zer0-azucar.blogspot.com/

http://gorylong.blogspot.com

 Perfil WWW  

Desconectado
Forista Ancestral
Forista Ancestral
Avatar de Usuario

Registrado: Mar Ago 08, 2006 11:00 pm
Mensajes: 4215
Ubicación: Táchira - Venezuela

Nota Publicado: Lun May 11, 2009 12:49 am 
Arriba  
sencillo y excelente te quedo muy bien!

_________________
Linux User #432922 ~ Linux Machine #390497
Gentoo 10.0 | ~amd64 | i3
irc.freenode.net | /join #gnu/linuxOS

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Jue Feb 12, 2009 12:00 am
Mensajes: 131

Nota Publicado: Lun May 11, 2009 5:18 am 
Arriba  
muchas gracias por la buena onda gente :)

a ver empiezo...

el wall


Imagen

el "infodistro" es un script, para hacerlo crean en /bin un documento de texto que se llame infodistro (o bien le ponen el nombre que quieran) y dentro pegan esto

Código:
#!/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 = "Debian";

## 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 = 1;
## Command to run to take screen shot ##
my $command = "scrot -d 0.2";

## 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 = "NONE";

## Hash of WMs and the process they run ##
my %WMlist = ("Beryl", "beryl",
              "Compiz", "compiz",
              "Emerald", "emerald",
              "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-panel",
              "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 "Compiz" {
# commented for Heliodor
#      print "\::$textcolor Finding $WM theme\n" unless $quite == 1;
#      open(FILE, "$ENV{HOME}/.emerald/themes/Azurite-22px/theme.ini")
#      || die "\e[0;31m<Failed>\n";
#      while( <FILE> ) {
#        if( /name=(.+)/ ) {
#          print "\::$textcolor $WM theme found as $1\n" unless $quite == 1;
#          push(@line, " WM Theme:$textcolor $1");
#        }
#      }
#      close(FILE);
# Get the heliodor(metacity) theme
      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, " GWD Theme:$textcolor $gconf");
    }
    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 = `cat /etc/arch-release`;
  $version =~ s/\s+/ /g;
  $version = " OS:$textcolor $version";
  unshift(@line, "$version");
}

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

print "$c1              __
$c1          _=(SDGJT=_
$c1        _GTDJHGGFCVS)                $c1@line[0]
$c1       ,GTDJGGDTDFBGX0               $c1@line[1]
$c1      JDJDIJHRORVFSBSVL$c2-=+=,_        $c1@line[2]
$c1     IJFDUFHJNXIXCDXDSV,$c2  \"DEBL      $c1@line[3]
$c1    [LKDSDJTDU=OUSCSBFLD.$c2   '?ZWX,   $c1@line[4]
$c1   ,LMDSDSWH'     \`DCBOSI$c2     DRDS], $c1@line[5]
$c1   SDDFDFH'         !YEWD,$c2   )HDROD  $c1@line[6]
$c1  !KMDOCG            &GSU|$c2\_GFHRGO'   $c1@line[7]
$c1  HKLSGP'$c2           __$c1\TKM0$c2\GHRBV)'    $c1@line[8]
$c1 JSNRVW'$c2       __+MNAEC$c1\IOI,$c2\BN'
$c1 HELK['$c2    __,=OFFXCBGHC$c1\FD)
$c1 ?KGHE $c2\_-#DASDFLSV='$c1    'EF
$c1 'EHTI                   !H
$c1  \`0F'                   '!
\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/issue`;
  $version =~ s/\s+/ /g;
  $version = " OS:$textcolor $version";
  unshift(@line, "$version");
}

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

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;00m";
my $c2 = "\e[0;00m";
my $c3 = "\e[0;00m";
my $c4 = "\e[0;00m";

print "
                              $c1\llKXXx.   
                             $c1\OMMMMMN'   
                $c3\.,coxkOOOkd.$c1\,MMMMMMMx    $c4 @line[0]
             $c2\,. $c3\;WMMMMMMMMMO.$c1\llXMMMWx.    $c4 @line[1]
           $c2\llNMK. $c3\.XMMMMMMMMMNd,,,;,.     $c4 @line[2]
         $c2\;XMMMMN, $c3\.xxollldOXMMMMMMMMx    $c4 @line[3]
        $c2\dMMMMMMMk           $c3\.lXMMMMMMX.  $c4 @line[4]
       $c2\;MMMMMMX'               $c3\xxMMMMMMK  $c4 @line[5]
$c3\;kXNXx,$c2\'KMMMW.                 $c3\xxMMMMMMc $c4 @line[6]
$c3\:MMMMMMM;$c2\'MMMk                           $c4 @line[7]
$c3\;MMMMMMW,$c2\'MMMk                  $c1\.llllll, $c4 @line[8]
$c3\'oOOOo'$c2\:XMMMW'                 $c1\OMMMMMM:
       $c2\;MMMMMMW:              $c1\.OMMMMMM0
        $c2\ccWMMMMMMO           $c1\,xWMMMMMM0.
         $c2\'KMMMMX. $c1\.00kddxkKWMMMWNNMWo   
           $c2\:KM0. $c1\,WMMMMMMMMMXc'$c2\,;;,.   
             $c2\.  $c1\;WMMMMMMMMMk.$c2\dWMMMM0.   
                 $c1\.;codxxddl.$c2\,MMMMMMMx   
                             $c2\xMMMMMK.   
                              $c2\,OK0c   

\e[0m";
}


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



luego de eso le dan permisos de ejecucion

#chmod +x "nombredelarchivotexto"

de ese estan retocados los colores por mi del logo de Debian y Ubuntu, el original la verdad no me acuerdo de donde lo habia sacado, pero una vez que se pongan a editarlo si quieren veran que ponerle los colores como ustedes quieran no es nada dificil, es para Arch, Debian y Ubuntu

Gory, dime cual es el error que te tira el ncmpcpp, para ver si puedo ayudarte a solucionarlo

_________________
cuantos menos iconos mejor....


Última edición por Ayax el Vie Jun 18, 2010 6:13 pm, editado 1 vez en total
Mensaje editado por incluir imagenes muy grandes. Por favor, utiliza miniaturas y no la imagen normal.

 Perfil  

Desconectado
Ganador CSEL 2009
Ganador CSEL 2009
Avatar de Usuario

Registrado: Mar Mar 25, 2008 12:00 am
Mensajes: 666
Ubicación: Mexico; Veracruz; Minatitlan

Nota Publicado: Lun May 11, 2009 11:37 am 
Arriba  
orale!!! esta chido!!!

deves tener el scrot instalado, sale, gracias!!! :-)

_________________
visita:

http://www.zer0-azucar.blogspot.com/

http://gorylong.blogspot.com

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 8 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO