You are not logged in.
not sure if these scripts are on this thread yet but i stumbled on them on digg today, haven't tried it yet, but i've seen it in use on the monthly screenie's threads here.
http://binarycodes.blogspot.com/2008/08 … ystem.html
Last edited by brisbin33 (2008-08-26 13:17:57)
//github/
Offline
I cannot for the life of me find out what kind of code sets the colors in the info script. I've been able to experiment a little bit to get green or blue... but I'd like more options. For example, could anyone point me to where I can find out what "\e[38;5;47" means? Thanks in advance.
Offline
For example, could anyone point me to where I can find out what "\e[38;5;47" means?
The 38 doesn't really make much sense since it's not even a defined color code.. 30-37 for foregrounds and 40-47 for the respective backgrounds. Semicolons are used within the \e[ and m escape indicators if you use multiple codes of colors and/or modifiers.
That sequence is missing the escape termination, but the codes would be 38 foreground (doesn't exist, guessing it would default to 37), 47 background and whatever the 5 modifier is. The only mods I remember are 0 for normal and 1 for bold. You can easily google or test all the codes.
ARCH|awesome3.0 powered by Pentium M 750 | 512MB DDR2-533 | Radeon X300 M
The journey is the reward.
Offline
chris_ak wrote:For example, could anyone point me to where I can find out what "\e[38;5;47" means?
The 38 doesn't really make much sense since it's not even a defined color code.. 30-37 for foregrounds and 40-47 for the respective backgrounds. Semicolons are used within the \e[ and m escape indicators if you use multiple codes of colors and/or modifiers.
That sequence is missing the escape termination, but the codes would be 38 foreground (doesn't exist, guessing it would default to 37), 47 background and whatever the 5 modifier is. The only mods I remember are 0 for normal and 1 for bold. You can easily google or test all the codes.
Yeah, I've been looking googling like crazy to figure it out, but I'm finding that trial and error has been easier. thanks for you help though, you definitely gave me some new information.
Offline
man console_codes is also helpful.
-dav7
Windows was made for looking at success from a distance through a wall of oversimplicity. Linux removes the wall, so you can just walk up to success and make it your own.
--
Reinventing the wheel is fun. You get to redefine pi.
Offline
very nice script, just found it today. Anyone know a way to fgrep for an awesome theme in rc.lua? Or any other cool tricks with this script?
Offline
very nice script, just found it today. Anyone know a way to fgrep for an awesome theme in rc.lua? Or any other cool tricks with this script?
mm you could do a perl file open and grep out the specific line.. then regex match the specific name part.
ARCH64 | XMonad | Configs | myAURpkgs | ArchWiki Contribs | Screenies
Offline
actually I was wondering if anyone knew a regex that would work. I'm not very good with regexes.
Offline
Oh yeah, and how did you all get the newer Arch logo?
Offline
I made a new Arch ascii logo (tbh I didn't made it myself, used an ascii art tool).
Full script: http://karabaja.pondi.hr/scripts/info.pl
(I edited the scripts from DARKGuy's links, thanks )
I hope you like it
Last edited by karabaja4 (2009-01-13 20:20:11)
Offline
very nice, thank you
Offline
Can anyone help with this? I'm trying to get the basename for the Awesome 3 theme but can only get the entire line. Here's a pic of what I mean http://tinypic.com/view.php?pic=1op1qd&s=4
Offline
Can anyone help with this? I'm trying to get the basename for the Awesome 3 theme but can only get the entire line. Here's a pic of what I mean http://tinypic.com/view.php?pic=1op1qd&s=4
Hmm try "theme_path\ =\ \".*(\w+).theme\"" otherwise maybe split $theme by "/" into an array then grab last element then split by "." lol.
ARCH64 | XMonad | Configs | myAURpkgs | ArchWiki Contribs | Screenies
Offline
Can anyone help with this? I'm trying to get the basename for the Awesome 3 theme but can only get the entire line. Here's a pic of what I mean http://tinypic.com/view.php?pic=1op1qd&s=4
By the way, can you please post the final script if you ended up implementing anything new.
ARCH64 | XMonad | Configs | myAURpkgs | ArchWiki Contribs | Screenies
Offline
Try "push @distros, ["Debian", "/etc/debian_version", "\(.*?)\"];"
That line just uses regex to get the release name from debian_version as well as pushing that stuff into the distros array.
ARCH64 | XMonad | Configs | myAURpkgs | ArchWiki Contribs | Screenies
Offline
How about just "\(.*?)\" as the regex
ARCH64 | XMonad | Configs | myAURpkgs | ArchWiki Contribs | Screenies
Offline
Okay changing the regex to just "(.*)" prints the correct name except that there is some new line garbage somewhere thats pulling a ")" to the next line. It looks like the chomps have been done but it's coming from something else
ARCH64 | XMonad | Configs | myAURpkgs | ArchWiki Contribs | Screenies
Offline
Here is the complete changed script: http://pastebin.archlinux.org/24300
I modified it a little to move the screen shot to a directory so you will have to change the $ssdir variable at the beginning of the script.
Could you repost your script please, it seems like it expired.
Check me out on twitter!!! twitter.com/The_Ringmaster
Offline
semperfiguy wrote:Here is the complete changed script: http://pastebin.archlinux.org/24300
I modified it a little to move the screen shot to a directory so you will have to change the $ssdir variable at the beginning of the script.
Could you repost your script please, it seems like it expired.
The one I have here does that
ARCH64 | XMonad | Configs | myAURpkgs | ArchWiki Contribs | Screenies
Offline
I use openBox myself. But I was wonderin, what about LXDE users? I think Ill edit it myself to add lxde-session, so don't worry about it. I'll see what I can do.
Meh has new account! This one left behind for history's sake...
Offline
Can someone modify the script to make it use the new xfconf tool included with XFCE 4.6 to get the icon theme name? The .xml files are no longer used, thus it shows the incorrect name. Here is the command which needs to be run to get the icon theme name:
xfconf-query -c xsettings -p /Net/IconThemeName
Offline
I made a new Arch ascii logo (tbh I didn't made it myself, used an ascii art tool).
Full script: http://karabaja.pondi.hr/scripts/info.pl
(I edited the scripts from DARKGuy's links, thanks )I hope you like it
Thanks!
Offline
Hi guys! I'm using this script below, and I want to know if there's a way to make it show the gtk theme is used even if I'm not using Gnome.
Here's the info.pl
#!/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 = 1;
## Command to run to take screen shot ##
my $command = "scrot -cd5";
## 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";
#my $c1 = "\e[0;33m";
#my $c3 = "\e[0;33m";
#my $c2 = "\e[0;33m";
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;
Last edited by froli (2009-04-03 18:47:06)
archlinux on Macbook Pro 10,1
Offline
Offline
http://s302.photobucket.com/albums/nn10 … _clean.jpg
http://s302.photobucket.com/albums/nn10 … il_wip.jpg
Fresh install, thought I would give openbox another shot before putting gnome on.
I think that should be in the Openbox or monthly screenshot threads. This thread is about the screenshot info grabber script.
Offline