#!/usr/bin/perl -w =head [c]piotao, perl 5.6+, dawno temu, gdzies 20000101 np. programik otwiera okno w losowym kolorze tla, zapodajac tez polskie literki itp. Okno mozna wybrac podajac numer w opcji Opcje: -f NUM - numer fontu -x NUM - numer typu terminala -v - pisze polecenie na ekran, nie uruchamia okna -c NUM - uzywa podanego koloru =cut use strict; use Getopt::Std; my %opt; #rodzaj otwieranego okna ustala sie po opcji -xN gdzie N to numer: my @Xterms = ( 'xterm', # 0 'rxvt', # 1 'xvt', # 2 '/usr/openwin/bin/xterm', # 3 '/usr/local/bin/rxvt', # 4 '/usr/X11R6/bin/xterm', # 5 '/opt/sfw/bin/rxvt ', # 6 '/usr/bin/xvt', # 7 ); #rodzaj czcionek uzytych do otwarcia okna i wyswietlania tekstu my %Fonts = ( nic => "9x15", nig => "10x20", all => "-misc-fixed-medium-r-normal-*-15-*-*-*-*-*-iso8859-2", al2 => "-misc-fixed-medium-*-*-*-*-120-*-*-*-80-iso8859-2", ssh => "-misc-fixed-medium-*-*-*-*-117-*-*-*-80-iso8859-2", al2 => "-*-fixed-medium-r-*-*-15-*-*-*-*-*-*-2", fda => "-misc-*-medium-r-*-*-15-*-*-*-*-*-iso8859-2", qwe => "-misc-fixed-*-*-*-*-*-120-*-*-*-80-iso8859-2", aas => "-misc-fixed-*-r-*--15-*-*-*-*-*-iso8859-2", ok1 => "-misc-fixed-medium-*-*-*-*-140-*-*-*-*-iso8859-2", big => "-misc-fixed-*-*-*-*-20-*-*-*-*-*-iso8859-2", ); getopts('x:f:c:v',\%opt); my $xterm = $Xterms[0]; # standardowo xterm if(exists $opt{x} and $opt{x} < scalar @Xterms){ $xterm = $Xterms[$opt{x}] } my $font = $Fonts{nic}; if(exists $opt{f} and exists $Fonts{$opt{f}}){ $font = $Fonts{$opt{f}}; } #kolory tla dobierane losowo w moim ulubionych odcieniach my @colors = qw( 003a3a 003a50 004040 304040 002c31 002f42 002626 004a55 0d4a63 0c3129 3f5052 003840 00404c 004055 284d49 38436b 304b5b ); for(@colors){ $_ = "#$_" } my $color;# = "#DEDEDE"; if(!exists $opt{c}){ srand( time()^ ($$ + ($$ << 15)) ); $color = $colors[rand(@colors)]; } else{ $color = $opt{c} } my $cmd = qq[ $xterm ]. qq[ -fn "$font" ]. qq[ -fg "#FFFFDD" ]. qq[ -bg "$color" ]. (($xterm =~ /\brxvt/) ? '--geometry 100x40' : (($xterm =~ /\bxvt/) ? '-geometry 100x40' : '-aw +ah -bcf 50 -bcn 500 -cn -bc -geom 100x40' ) ). ( (@ARGV)? " -e ".(join " ",@ARGV) : '' ). qq[ & ] ; if(exists $opt{v}){ print $cmd; } else{ system $cmd }