blackbox
Witold Filipczyk
juandon w poczta.onet.pl
Sob, 2 Mar 2002, 19:44:43 CET
Napisałem programik do generowania "menu" dla blackboxa.
W Perlu mi się najłatwiej pisze.
Podaje mu się jako parametr katalog do plików .desktop,
zwykle /usr/X11R6/share/applnk
Programik można uskutecznić (jakąś lokalizację trzeba by zrobić).
BTW, driver do s3 działał lepiej w 4.1.0-cośtam.
W 4.2.0 po przejściu na konsolę i powrocie do graficznego screen się
kurczy.
Wystarczy podmienić driver (po przekopiowaniu starego działa lepiej).
WF
-------------- następna część ---------
#!/usr/bin/perl
sub parse_desktop {
open DESK, $_[0];
while ($line=<DESK>) {
($attr,$value) = split '=', $line;
chomp $value;
$hasz{$attr}=$value;
}
close DESK;
if ($hasz{Terminal} == 1) {
$hasz{Exec} = "xterm -e $hasz{Exec}";
}
return "[exec] ($hasz{Name}) {$hasz{Exec}}\n";
}
sub parse_directory {
local $wynik='';
local $a;
local $file;
opendir DIRECTORY, $_[0] or return $wynik;
local @allfiles = grep !/^\./, readdir DIRECTORY;
foreach $file (@allfiles) {
if (-d "$_[0]/$file") {
$a = parse_directory("$_[0]/$file");
if ($a) {
$wynik = $wynik . "[submenu] ($file)\n" . $a . "[end]\n";
}
}
}
foreach $file (@allfiles) {
if ( -f "$_[0]/$file" ) {
$a = parse_desktop("$_[0]/$file");
$wynik = $wynik . $a;
}
}
return $wynik;
}
$b = '';
open PLIK, "$ARGV[0]/.order";
@lista = <PLIK>;
close PLIK;
foreach $f (@lista) {
chomp $f;
$a = parse_directory("$ARGV[0]/$f");
if ($a) {
$b = $b . "[submenu] ($f)\n" . $a . "[end]\n";
}
}
print "[begin] (Menu)\n$b";
print "[nop]\n[stylesmenu] (Blackbox Styles) {/usr/X11R6/share/blackbox/styles}\n";
print "[config] (Config Options)\n";
print "[reconfig] (Reconfigure)\n";
print "[restart] (Restart)\n";
print "[exit] (Exit)\n[end]\n";
Więcej informacji o liście dyskusyjnej pld-devel-pl