summaryrefslogtreecommitdiffstats
path: root/info.pl
diff options
context:
space:
mode:
Diffstat (limited to 'info.pl')
-rwxr-xr-xinfo.pl285
1 files changed, 0 insertions, 285 deletions
diff --git a/info.pl b/info.pl
deleted file mode 100755
index d29aa95..0000000
--- a/info.pl
+++ /dev/null
@@ -1,285 +0,0 @@
-#!/usr/bin/perl
-# @title : Theme info script 0.1.2 revisited
-# @author: rab
-# @date : 08/04/08
-# @commnt: Maybe if people quit forking the hell outta this, it would be easier to maintain
-
-## Configurations
-# On = 1. Off = 0
-my %display = (
- "OS" => 1, # Displays the operating system's name
- "KL" => 1, # Displays your kernel version
- "DE" => 0, # Displays your desktop environment, if you have one
- "WM" => 1, # Displays your window manager
- "WMT" => 1, # Displays your window manager's theme
- "IC" => 1, # Displays your icon theme, if you have one
- "FN" => 1, # Displays your font
- "UI" => 1 # Displays your UI theme
- );
-
-# The command to execute for taking a screenshot
-# Escape ' with a backslash, \'
-# Leave blank if you don't want a screenshot taken
-#my $screenshot = 'scrot screen-%H-%M-%S.png -e \'mv $f ~/media/screens/\'';
-my $screenshot = '';
-
-# The Color to use for the variables, needs to be global for logos.pl
-@colors = ( "\e[38;0;33m", "\e[38;1;37m", "\e[m" );
-
-# Debugging
-my $debug = 1;
-## End of configuration
-
-########################
-## Script starts here ##
-########################
-@distros = ();
-require '/home/flo/bin/logos.pl';
-
-my $nocolor = "\e[0m";
-my @info = ();
-my ($DE,$WM,$theme,$icon,$font,$cscheme) = "";
-my $distro = &distro;
-
-## 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",
- "Compiz-Fusion" => "compiz",
- "PekWM" => "pekwm",
- "Awesome" => "awesome",
- "Dwm" => "dwm" );
-
-## Hash of DEs and the process they run ##
-my %DElist = ("Gnome" => "gnome-session",
- "Xfce4" => "xfce-mcs-manage",
- "KDE" => "ksmserver");
-
-## Get Kernel version ##
-if( $display{KL} ) {
- print "::$colors[0] Finding Kernel version$nocolor\n"
- if $debug;
-
- my $kernel = `uname -r`; $kernel =~ s/\s+/ /g;
- push @info, "$colors[0]Kernel\t\t\t$colors[1]$kernel$nocolor";
-}
-
-## Find running processes ##
-print "::$colors[0] Getting processes$nocolor\n"
- if $debug;
-my $processes = `ps -A | awk {'print \$4'}`;
-
-
-## Find a Desktop Environment ##
-DESKTOP:
-goto WINDOWM if !$display{DE};
-while(my($DEname,$DEprocess) = each(%DElist)) {
- next if $processes !~ /$DEprocess/s;
-
- $DE = $DEname;
- print "::$colors[0] Desktop Environment found as $colors[1]$DEname$nocolor\n"
- if $debug;
- push @info, "$colors[0]Desktop Environment\t$colors[1]$DEname$nocolor";
- last;
-}
-
-## Find a Window Manager ##
-WINDOWM:
-goto ICON if !$display{WM};
-while(my($WMname,$WMprocess) = each(%WMlist)) {
- next if $processes !~ /$WMprocess/sg;
-
- $WM = $WMname;
- print "::$colors[0] Window Manager found as $colors[1]$WMname$nocolor\n"
- if $debug;
- push @info, "$colors[0]Window Manager\t\t$colors[1]$WMname$nocolor";
- last;
-}
-
-## Find a Window Manager Theme ##
-WINDOWMT:
-goto ICON if !$display{WMT} || !$display{WM} || $WM eq "";
-print "::$colors[0] Finding $WM theme$nocolor\n"
- if $debug;
-
-$WM eq "Openbox" && do {
- ($theme) = fgrep(["$ENV{HOME}/.config/openbox/rc.xml"], ["<name>(.+?)</name>"]);
- goto ICON;
-};
-
-$WM eq "Beryl" && do {
- ($theme) = fgrep(["$ENV{HOME}/.emerald/theme/theme.ini"], ["description=(.*?)$/"]);
- goto ICON;
-};
-
-$WM eq "Metacity" && do {
- $theme = `gconftool-2 -g /apps/metacity/general/theme`;
- chomp $theme;
- goto ICON;
-};
-
-$WM eq "Fluxbox" && do {
- ($theme) = fgrep(["$ENV{HOME}/.fluxbox/init"], ["session.styleFile:\s*/.*?/(.+?)"]);
- goto ICON;
-};
-
-$WM eq "Blackbox" && do {
- ($theme) = fgrep(["$ENV{HOME}/.blackboxrc"], ["session.styleFile:\s*/.*?/(.+?)"]);
- goto ICON;
-};
-
-$WM eq "Xfwm4" && do {
- ($theme) = fgrep(["$ENV{HOME}/.config/xfce4/mcs_settings/xfwm4.xml"], ["<option name=\"Xfwm/ThemeName\" type=\"string\" value=\"(.+?)\"/>"]);
- goto ICON;
-};
-
-$WM eq "Kwin" && do {
- ($theme) = fgrep(["$ENV{HOME}/.kde/share/config/kwinrc"], ['PluginLib=kwin[34]_(.+?)\s']);
- goto ICON;
-};
-
-$WM eq "Enlightenment" && do {
- my $remote = `enlightenment_remote -theme-get theme`;
- ($theme) = $remote =~ /FILE="(.+?)\\.edj"/sg;
- goto ICON;
-};
-
-$WM eq "IceWM" && do {
- ($theme) = fgrep(["$ENV{HOME}/.icewm/theme"], ["Theme=\"(.+?)/.*?\\.theme"]);
- goto ICON;
-};
-
-$WM eq "PekWM" && do {
- ($theme) = fgrep(["$ENV{HOME}/.pekwm/config"], ["Theme.*?/(.*?)"]);
- goto ICON;
-};
-
-$WM eq "Dwm" && do {
- undef $theme; ## Unless you want to grab some values from the binary?
- goto ICON;
-};
-
-$WM eq "Awesome" && do {
- undef $theme;
- goto ICON;
-};
-
-ICON:
-if( $theme ne "" ) {
- print "::$colors[0] $WM Theme found as $colors[1]$theme$nocolor\n"
- if $debug;
- push @info, "$colors[0]$WM Theme $colors[1]\t\t$theme$nocolor";
-}
-
-$DE eq "Gnome" && do {
- $icon = `gconftool-2 -g /desktop/gnome/interface/icon_theme`;
- $font = `gconftool-2 -g /desktop/gnome/interface/font_name`;
- $theme = `gconftool-2 -g /desktop/gnome/interface/gtk_theme`;
- chomp $icon; chomp $font; chomp $theme;
- goto PRINT;
-};
-
-$DE eq "Xfce4" && do {
- ($icon,$font,$theme) = fgrep(["$ENV{HOME}/.config/xfce4/mcs_settings/gtk.xml"],
- ['<option name="Net/IconThemeName" type="string" value="(.+?)"/>',
- '<option name="Gtk/FontName" type="string" value="(.+?)"/>',
- '<option name="Net/ThemeName" type="string" value="(.+?)"/>']);
- goto PRINT;
-};
-
-$DE eq "KDE" && do {
- ($theme,$cscheme,$icon,$font) = fgrep(["$ENV{HOME}/.kde/share/config/kdeglobals"],
- ['widgetStyle=(.+?)\s',
- 'colorScheme=(.+?)\.kcsrc\s',
- 'Theme=(.+?)\s',
- 'font=(.+?)\s']);
- $font = (split /,/, $font)[0];
- goto PRINT;
-};
-
-@vars = fgrep(["$ENV{HOME}/.gtkrc-2.0",
- "$ENV{HOME}/.gtkrc.mine"],
- ['include ".*?themes/(.+?)/gtk-[12]\.0/gtkrc',
- '.*?gtk-icon-theme-name.*?"(.+?)"',
- '.*?gtk-font-name.*?"(.+?)"']);
-
-$theme = $vars[0] ? $vars[0] : $vars[3] ? $vars[3] : "";
-$icon = $vars[1] ? $vars[1] : $vars[4] ? $vars[4] : "";
-$font = $vars[2] ? $vars[2] : $vars[5] ? $vars[5] : "";
-
-## Lets print this bitch ##
-PRINT:
-push @info, $colors[0].($DE ? $DE : "GTK")." Theme \t\t$colors[1]".($DE eq "KDE" ? "$theme/$cscheme" : $theme).$nocolor
- if $display{UI} && $theme ne "";
-
-push @info, "$colors[0]Icons\t\t\t$colors[1]$icon$nocolor"
- if $display{IC} && $icon ne "";
-
-push @info, "$colors[0]Font\t\t\t$colors[1]$font$nocolor"
- if $display{FN} && $font ne "";
-
-printf $distro, @info; sleep 3;
-exec $screenshot
- if $screenshot ne "";
-
-sub fgrep(\@\@) {
- my($files,$regexps) = @_;
- my @retvals = ();
- my $slurp = $/; undef $/;
-
- foreach my $file (@$files) {
- next if !(-e $file);
-
- open FILE, "<", $file || die "$colors[0]Error opening $colors[1]'$file', $colors[0]$!$nocolor\n";
- $content = <FILE>;
- close FILE;
-
- foreach my $regexp (@$regexps) {
- my $expg = 0; $expg++ while( $regexp =~ /\(.*?\)/g );
- my @tmp = $content =~ /$regexp/sg;
- push @tmp, "" while( scalar @tmp < $expg );
- @retvals = (@retvals,@tmp);
- }
- }
-
- $/ = $slurp;
- @retvals;
-}
-
-sub distro {
- my $distro = "";
- my $slurp = $/; undef $/;
-
- foreach $ops (@distros) {
- next if !(-e @$ops[1]);
-
- $fdistro = $distro = @$ops[0];
- open FILE, "<", @$ops[1] || die "$colors[0]Error opening $colors[1]'@$ops[1]', $colors[0]$!$nocolor\n";
- $content = <FILE>;
- close FILE;
-
- if( defined @$ops[2] ) {
- $content =~ /@$ops[2]/sg;
- $fdistro .= " ($1)";
- }
-
- chomp $distro; chomp $fdistro;
- last;
- }
-
- return ""
- if $distro eq "";
-
- $/ = $slurp; $distro = lc $distro;
- eval "\$distro = \$$distro;";
- push @info, "$colors[0]Distro\t\t\t$colors[1]$fdistro$nocolor";
- $distro;
-}