Author: sparky                       Date: Thu Jan  5 17:37:03 2006 GMT
Module: vfmg                          Tag: DEVEL
---- Log message:
- don't create arrays in @desktop but copy hash reference
- many, many changes due to above change

---- Files affected:
vfmg:
   vfmg (1.73.2.52 -> 1.73.2.53) 

---- Diffs:

================================================================
Index: vfmg/vfmg
diff -u vfmg/vfmg:1.73.2.52 vfmg/vfmg:1.73.2.53
--- vfmg/vfmg:1.73.2.52 Wed Jan  4 16:41:43 2006
+++ vfmg/vfmg   Thu Jan  5 18:36:58 2006
@@ -328,6 +328,7 @@
 
        open F_IN, $file or warn "$File::Find::name: $!\n" and return;
        my %tags = (
+               file            => $file,
                Icon            => '',
                Categories      => '',
                Type            => '',
@@ -359,11 +360,11 @@
          ($tags{Terminal} && $tags{Terminal} =~ /^(?:1|true)$/i) ? 1 : 0;
        return if $tags{term} and not $opt{xterm};
 
-       my($bin) = ($tags{Exec} =~ /(\S+)/);    #v---------v
+       ($tags{bin}) = ($tags{Exec} =~ /(\S+)/);    #v---------v
        if ( $opt{exec} ) {
                my $exists;
                foreach my $dir (@path) {    # would be "//dir/.../file" 
correct?
-                       if (-x "$dir/$bin") {    #----^
+                       if (-x "$dir/$tags{bin}") {    #----^
                                $exists++;
                                $tags{Exec} = "$dir/$tags{Exec}" if 
$opt{exec_full};
                                last;
@@ -372,9 +373,9 @@
                return unless $exists;
        }
        if ( $tags{term} ) {
-               $bin =~ s|.*/||;
+               $tags{bin} =~ s|.*/||;
                $_ = $opt{xterm};
-               s/%1/$bin/;
+               s/%1/$tags{bin}/;
                s/%2/$tags{Exec}/;
                $tags{Exec} = $_;
        }
@@ -432,8 +433,9 @@
                        $tags{$tag_name} = $tags{$first};
                }
        }
+       $tags{file} =~ s/\.desktop$//;
        unless ($tags{Name}) {
-               ( $tags{Name} = $file ) =~ s/\.desktop$//;
+               $tags{Name} = $tags{file};
                warn "$File::Find::name: missing Name tag! using $tags{Name}\n";
        }
        
@@ -451,8 +453,8 @@
                $tags{Exec} =~ s/%%/%/g;
        }
        
-       $file =~ s/\.desktop$//;
-       push @desktop, [$file, $tags{Name}, $tags{Icon}, $tags{Exec}, 
$tags{GenericName}, $tags{term}, $bin];
+       push @desktop, \%tags;
+       #[$tags{file}, $tags{Name}, $tags{Icon}, $tags{Exec}, 
$tags{GenericName}, $tags{term}, $tags{bin}];
        
        $apps[$#desktop]{$_} = 1    # two apps can have same names now:)
          foreach grep length, split /;+/, $tags{Categories};
@@ -665,16 +667,14 @@
                }
                if($tag eq 'Directory') {
                        my $dirfile = getname();
-                       my $lang=0;
                        my $dname="";
-                       my $icon="";
-                       my $enc="iso-8859-1";
                        my $ok=0;
                        foreach my $tmp (@tmp) {
                                open F_IN, $tmp. $dirfile or next;
                                my %tags = (
-                                       Name       => '',
-                                       Icon       => '',
+                                       Name            => '',
+                                       Icon            => '',
+                                       Encoding        => "iso-8859-1",
                                        map {
                                                        ## "foo = bar" or 
"Name[baz] = bar"
                                                        /^\s*
@@ -685,41 +685,40 @@
                                                } <F_IN>,
                                        );
                                $dname = $tags{findfirstlang( grep /^Name/, 
keys %tags)};
-                               $icon = $tags{Icon};
-                               $enc = $tags{Encoding};
                                close F_IN;
-                               $ok=1;
-                               last;
-                       }
-                       if ($ok) {
+                               $ok = 1;
+                               
                                if($opt{icons_ext}) {
                                        my $exists = 0;
                                        ALLDIRS: foreach my $dir (@icondirs) {
                                                foreach my $ext ('', qw(.svg 
.xpm .png)) {
-                                                       if (-f $dir . $icon . 
$ext) {
-                                                               $icon .= $ext;
-                                                               $icon = $dir . 
$icon if $opt{icons_full};
+                                                       if (-f $dir . 
$tags{Icon} . $ext) {
+                                                               $tags{Icon} .= 
$ext;
+                                                               $tags{Icon} = 
$dir . $tags{Icon}
+                                                                       if 
$opt{icons_full};
                                                                $exists = 1;
                                                                last ALLDIRS;
                                                        }
                                                }
                                        }
-                                       $icon = '' unless $exists;
+                                       $tags{Icon} = '' unless $exists;
                                }
-                               my $utfname;
-                               if(length $dname) {
-                                       $utfname=decode($enc,$dname);
-                                       unless($utfname) {
+                               if ( length $dname ) {
+                                       $tags{Name} = 
decode($tags{Encoding},$dname);
+                                       unless($tags{Name}) {
                                                warn "$dirfile: wrong 
encoding!\n";
-                                               $utfname=$dname;
+                                               $tags{Name} = $dname;
                                        }
                                } else {
                                        warn "$dirfile: missing Name tag!\n";
-                                       $utfname=$name;
+                                       $tags{Name}=$name;
                                }
-                               $dirfile =~ s/\..*?$//;
-                               $desktop[$dirnum] = [$dirfile, $utfname, $icon];
-                       } else {
+                               ($tags{file} = $dirfile) =~ s/\..*?$//;
+                               $desktop[$dirnum] = \%tags;
+                               #[$tags{file}, $tags{Name}, $tags{Icon}];
+                               last;
+                       }
+                       unless ($ok) {
                                local $" = "\n- ";
                                warn "No readable $dirfile in:\n- @tmp\n";
                                warn "Last error: $!\n";
@@ -755,7 +754,12 @@
        }
        
        # if there was no <Directory>
-       $desktop[$dirnum]=[$name,$name,""] unless defined $desktop[$dirnum];
+       $desktop[$dirnum] = {
+               file => $name,
+               Name => $name,
+               Icon => ''
+       } unless defined $desktop[$dirnum];
+       #[$name,$name,""] 
        
        $menu[$parent_number]{$dirnum} = $mno;
 } # }}}
@@ -802,8 +806,9 @@
                                } else {
                                        if ( $count[$mno] == 1 ) { #only one 
entry in submenu
                                                foreach my $name ( keys 
%{$menu[$mno]} ) {
-                                                       warn "Promoting: 
$desktop[$name][1] --> $desktop[$entry][1]\n" if $o_verbose;
-                                                       $desktop[$name][1] = 
$desktop[$entry][1] . " / " . $desktop[$name][1];
+#                                                      warn "Promoting: 
$desktop[$name][1] --> $desktop[$entry][1]\n" if $o_verbose;
+                                                       $desktop[$name]{Name} = 
$desktop[$entry]{Name} 
+                                                               . " / " . 
$desktop[$name]{Name};
                                                        if ( $menu[$mno]{$name} 
== -1 ) { # it's aplication
                                                                
$menu[$i]{$name} = -1;
                                                        } else {
@@ -845,22 +850,14 @@
 }
 
 # WM functions {{{
-use constant FILENAME  => 0;
-use constant LOCALENAME        => 1;
-use constant ICON              => 2;
-use constant EXEC              => 3;
-use constant GENNAME   => 4;
-use constant TERM              => 5;
-use constant BIN               => 6;
-
 use constant step              => "\t";
 
 sub cmpdname {
        use locale;
        return 
-                       encode($opt{encoding}, $desktop[$a][LOCALENAME] )
+                       encode($opt{encoding}, $desktop[$a]{Name} )
                cmp
-                       encode($opt{encoding}, $desktop[$b][LOCALENAME] )
+                       encode($opt{encoding}, $desktop[$b]{Name} )
                ;
 }
 
@@ -881,11 +878,11 @@
                        my $step = " \033[${cnum}m\033(0\017x\033(B\033[0m ";
                        if ($num >= $all and ( $#apps < 0 )) {
                                $step = "   ";
-                               print "$level 
\033[${cnum}m\033(0mq\033(B\033[${cnext}m\033[1m[$$d[LOCALENAME]]";
+                               print "$level 
\033[${cnum}m\033(0mq\033(B\033[${cnext}m\033[1m[$$d{Name}]";
                        } else {
-                               print "$level 
\033[${cnum}m\033(0tq\033(B\033[${cnext}m\033[1m[$$d[LOCALENAME]]";
+                               print "$level 
\033[${cnum}m\033(0tq\033(B\033[${cnext}m\033[1m[$$d{Name}]";
                        }
-                       print " ($$d[GENNAME])" if $$d[GENNAME];
+                       print " ($$d{GenericName})" if $$d{GenericName};
                        print "\033[0m\n";
                        ASCII($menu[$no]{$entry},$level.$step, $cnext);
                }
@@ -893,11 +890,11 @@
        $num = 0;
        foreach my $d (@apps) {
                if ($num >= $#apps) {
-                       print "$level 
\033[${cnum}m\033(0\017mq\033(B\033[${cnext}m$$d[LOCALENAME]";
+                       print "$level 
\033[${cnum}m\033(0\017mq\033(B\033[${cnext}m$$d{Name}";
                } else {
-                       print "$level 
\033[${cnum}m\033(0\017tq\033(B\033[${cnext}m$$d[LOCALENAME]";
+                       print "$level 
\033[${cnum}m\033(0\017tq\033(B\033[${cnext}m$$d{Name}";
                }
-               print " ($$d[GENNAME])" if $$d[GENNAME];
+               print " ($$d{GenericName})" if $$d{GenericName};
                print "\033[0m\n";
                $num++;
        }
@@ -910,11 +907,11 @@
        my @edje = qw(edje_cc -id . -fd . icon.edc);
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               my $name = $$d[LOCALENAME];
+               my $name = $$d{Name};
                print $tab.$name.".." if $o_verbose;
                
                unlink $$dr{icon};
-               my $icon = $$d[ICON];
+               my $icon = $$d{Icon};
                if ( not -r $icon and defined $$dr{text_icon} ) {
                        ( my $exe = $$dr{text_icon} ) =~ s/%1/"$name"/;
                        system($exe);
@@ -926,18 +923,19 @@
                print ".." if $o_verbose;
                
                if($menu[$no]{$entry} < 0) {
-                       my $file = "$opt{icons_dir}/$$d[FILENAME].eap";
+                       my $file = "$opt{icons_dir}/$$d{file}.eap";
 
                        system(@edje,$file);
                        print ".." if $o_verbose;
                        my @eapp = qw(enlightenment_eapp);
                        push @eapp, $file;
                        push @eapp, "-set-name",$name;
-                       push @eapp, "-set-generic",$$d[GENNAME] if length 
$$d[GENNAME];
-                       push @eapp, "-set-exe",$$d[EXEC];
+                       push @eapp, "-set-generic",$$d{GenericName}
+                               if $$d{GenericName};
+                       push @eapp, "-set-exe",$$d{Exec};
                        if ( defined $$dr{wcnt} ) {
-                               if ( exists $$dr{wcnt}{$$d[FILENAME]} ) {
-                                       my $wcnt = $$dr{wcnt}{$$d[FILENAME]};
+                               if ( exists $$dr{wcnt}{$$d{file}} ) {
+                                       my $wcnt = $$dr{wcnt}{$$d{file}};
                                        push @eapp, "-set-win-class", $$wcnt[0]
                                                if defined $$wcnt[0];
                                        push @eapp, "-set-win-name", $$wcnt[1] 
if defined $$wcnt[1];
@@ -945,17 +943,17 @@
                                                if defined $$wcnt[2];
                                        push @eapp, "-set-win-role", $$wcnt[3] 
if defined $$wcnt[3];
                                } else {
-                                       if ( $$d[TERM] == 1 ) {
+                                       if ( $$d{term} == 1 ) {
                                                if ( defined 
$opt{termapp_class} ) {
-                                                       (my $tapp = 
$opt{termapp_class}) =~ s/%1/$$d[BIN]/;
+                                                       (my $tapp = 
$opt{termapp_class}) =~ s/%1/$$d{bin}/;
                                                        push @eapp, 
"-set-win-class", $tapp;
                                                }
                                                if ( defined $opt{termapp_name} 
) {
-                                                       (my $tapp = 
$opt{termapp_name}) =~ s/%1/$$d[BIN]/;
+                                                       (my $tapp = 
$opt{termapp_name}) =~ s/%1/$$d{bin}/;
                                                        push @eapp, 
"-set-win-name", $tapp;
                                                }
                                        } else {
-                                               my $exe = (split /\s/, 
$$d[EXEC])[0];
+                                               my $exe = (split /\s/, 
$$d{Exec})[0];
                                                $exe = ucfirst lc $exe;
                                                push @eapp, "-set-win-class", 
$exe;
                                        }
@@ -964,9 +962,9 @@
                        system(@eapp);
                        
                        print "..DONE\n" if $o_verbose;
-                       $apps .= $$d[FILENAME] . ".eap\n";
+                       $apps .= $$d{file} . ".eap\n";
                } else {
-                       my $subdir = sprintf "%s/%s", $dir, $$d[FILENAME];
+                       my $subdir = sprintf "%s/%s", $dir, $$d{file};
                        my $file = $subdir . "/.directory.eap";
                        mkpath($subdir,0,0700);
                        print ".." if $o_verbose;
@@ -977,7 +975,7 @@
                        
                        print "..DONE\n" if $o_verbose;
                        DR17($menu[$no]{$entry},$subdir,$tab.step,$dr);
-                       $dirs .= $$d[FILENAME]."\n";
+                       $dirs .= $$d{file}."\n";
                }
        }
        open F_OUT, ">> $dir/.order" or warn "$dir/.order: $!\n";
@@ -991,9 +989,9 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               ( my $name = $$d[LOCALENAME] ) =~ s/\"/\\\"/g;
+               ( my $name = $$d{Name} ) =~ s/\"/\\\"/g;
                if($menu[$no]{$entry} < 0) {
-                       ( my $exec = $$d[EXEC] ) =~ s/\"/\\\"/g;
+                       ( my $exec = $$d{Exec} ) =~ s/\"/\\\"/g;
                        $apps .= qq(${level}cmd "$name" "$exec"\n);
                } else {
                        print qq(${level}menu "$name"\n);
@@ -1009,14 +1007,14 @@
        
        foreach my $entry(keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               my $name = encode($opt{encoding},$$d[LOCALENAME]);
+               my $name = encode($opt{encoding},$$d{Name});
                if($menu[$no]{$entry} < 0) {
                        $name=~s/\"/\\\"/g;
                        my $icon = "";
-                       $icon = scale_icon($$d[ICON]) if $opt{icons};
+                       $icon = scale_icon($$d{Icon}) if $opt{icons};
                        my $F_OUT;
-                       open $F_OUT, ">> $dir/$$d[FILENAME]" or warn 
"$dir/$$d[FILENAME]: $!\n";
-                       print $F_OUT qq(Exec "$name" exec $$d[EXEC]\n);
+                       open $F_OUT, ">> $dir/$$d{file}" or warn 
"$dir/$$d{file}: $!\n";
+                       print $F_OUT qq(Exec "$name" exec $$d{Exec}\n);
                        print $F_OUT qq(MiniPixmap "$icon"\n) if length $icon;
                        close $F_OUT;
                } else {
@@ -1033,9 +1031,9 @@
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
                if($menu[$no]{$entry} < 0) {
-                       $apps .= "$level"."[exec] ($$d[LOCALENAME]) 
{$$d[EXEC]}\n";
+                       $apps .= "$level"."[exec] ($$d{Name}) {$$d{Exec}}\n";
                } else {
-                       print "$level"."[submenu] ($$d[LOCALENAME])\n";
+                       print "$level"."[submenu] ($$d{Name})\n";
                        blackbox($menu[$no]{$entry}, $level.step);
                        print "$level\[end]\n";
                }
@@ -1051,15 +1049,15 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               my $name = encode($opt{encoding},$$d[LOCALENAME]);
+               my $name = encode($opt{encoding},$$d{Name});
                $name=~s/\"/\'/g;
                my $icon="";
-               $icon = scale_icon($$d[ICON]) if $opt{icons};
+               $icon = scale_icon($$d{Icon}) if $opt{icons};
                if($menu[$no]{$entry}<0) {
-                       $apps .= qq("$name" "$icon" exec "$$d[EXEC]"\n);
+                       $apps .= qq("$name" "$icon" exec "$$d{Exec}"\n);
                } else {
-                       print $F_OUT qq("$name" "$icon" menu 
"$opt{destdir}/$$d[FILENAME].menu"\n);
-                       enlightenment($menu[$no]{$entry},$$d[FILENAME],$name);
+                       print $F_OUT qq("$name" "$icon" menu 
"$opt{destdir}/$$d{file}.menu"\n);
+                       enlightenment($menu[$no]{$entry},$$d{file},$name);
                }
        }
        print $F_OUT $apps;
@@ -1072,17 +1070,17 @@
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
                my $icon = "";
-               $icon = scale_icon($$d[ICON]) if $opt{icons};
+               $icon = scale_icon($$d{Icon}) if $opt{icons};
                if($menu[$no]{$entry}<0) {
                        $apps .=
                                "${level}item {\n".
-                               "${level}       name = $$d[LOCALENAME]\n".
-                               "${level}       action = $$d[EXEC]\n";
+                               "${level}       name = $$d{Name}\n".
+                               "${level}       action = $$d{Exec}\n";
                        $apps .= "${level}      image = $icon\n" if length 
$icon;
                        $apps .= "${level}}\n";
                } else {
                        print "${level}menu {\n";
-                       print "${level} name = $$d[LOCALENAME]\n";
+                       print "${level} name = $$d{Name}\n";
                        print "${level} image = $icon\n" if length $icon;
                        fbpanel($menu[$no]{$entry},$level.step);
                        print "${level}}\n";
@@ -1101,14 +1099,14 @@
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
                if($menu[$no]{$entry} < 0) {
-                       my $name = $$d[LOCALENAME];
+                       my $name = $$d{Name};
                        $name =~ s/\"/\\\"/g;
-                       $apps .= qq(\tExec "$name"\texec $$d[EXEC]\n);
+                       $apps .= qq(\tExec "$name"\texec $$d{Exec}\n);
                } else {
-                       my $name = $$d[FILENAME];
+                       my $name = $$d{file};
                        $name =~ s/\s+/_/g;
-                       $this_menu .= qq(\tPopup 
"$$d[LOCALENAME]"\t$file.$name\n);
-                       fvwm($menu[$no]{$entry},"$file.$name",$$d[LOCALENAME]);
+                       $this_menu .= qq(\tPopup "$$d{Name}"\t$file.$name\n);
+                       fvwm($menu[$no]{$entry},"$file.$name",$$d{Name});
                }
        }
        print $this_menu . $apps . "EndPopup\n\n" if length $file;
@@ -1119,14 +1117,14 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               ( my $name = $$d[LOCALENAME] ) =~ s/\"/\\\"/g;
+               ( my $name = $$d{Name} ) =~ s/\"/\\\"/g;
                my $icon = "";
-               $icon = scale_icon($$d[ICON]) if $opt{icons};
+               $icon = scale_icon($$d{Icon}) if $opt{icons};
                $icon = "\%$icon\%" if length $icon;
                if($menu[$no]{$entry}<0) {
-                       $apps .= qq(AddToMenu $level    "$icon$name"    Exec 
$$d[EXEC] &\n);
+                       $apps .= qq(AddToMenu $level    "$icon$name"    Exec 
$$d{Exec} &\n);
                } else {
-                       my $file = $$d[FILENAME];
+                       my $file = $$d{file};
                        $file =~ s/\s+/_/g;
                        print qq(AddToMenu $level       "$icon$name"    Popup 
$level.$file\n);
                        print "DestroyMenu recreate $level.$file\n\n";
@@ -1142,12 +1140,12 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               my $name = $$d[LOCALENAME];
+               my $name = $$d{Name};
                $name =~ s/\"/\\\"/g;
                my $icon = "";
-               $icon = scale_icon($$d[ICON]) if $opt{icons};
+               $icon = scale_icon($$d{Icon}) if $opt{icons};
                if($menu[$no]{$entry} < 0) {
-                       $apps .= qq(${level}prog "$name" "$icon" $$d[EXEC]\n);
+                       $apps .= qq(${level}prog "$name" "$icon" $$d{Exec}\n);
                } else {
                        $icon = "folder" if not length $icon and $opt{icons};
                        print qq(${level}menu "$name" "$icon" {\n);
@@ -1168,16 +1166,16 @@
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
                my $icon = "";
-               $icon = scale_icon($$d[ICON]) if $opt{icons};
+               $icon = scale_icon($$d{Icon}) if $opt{icons};
                $icon = "\%$icon\%" if length $icon;
                
                if($menu[$no]{$entry} < 0) {
-                       ( my $name = $$d[LOCALENAME] ) =~ s/\"/\\\"/g;
-                       $apps .= qq(+ "$icon$name"\tExec exec $$d[EXEC]\n);
+                       ( my $name = $$d{Name} ) =~ s/\"/\\\"/g;
+                       $apps .= qq(+ "$icon$name"\tExec exec $$d{Exec}\n);
                } else {
-                       ( my $name = $$d[FILENAME] ) =~ s/\s+/_/g;
-                       $this_menu .= qq(+ 
"$icon$$d[LOCALENAME]"\tPopup\t$file.$name\n);
-                       
metisse($menu[$no]{$entry},"$file.$name",$$d[LOCALENAME]);
+                       ( my $name = $$d{file} ) =~ s/\s+/_/g;
+                       $this_menu .= qq(+ 
"$icon$$d{Name}"\tPopup\t$file.$name\n);
+                       metisse($menu[$no]{$entry},"$file.$name",$$d{Name});
                }
        }
        print $this_menu . $apps . "\n" if length $file;
@@ -1188,9 +1186,9 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               ( my $name = $$d[LOCALENAME] ) =~ s/\"/\\\"/g;
+               ( my $name = $$d{Name} ) =~ s/\"/\\\"/g;
                if($menu[$no]{$entry}<0) {
-                       $apps .= qq($level"$name"       exec $$d[EXEC]\n);
+                       $apps .= qq($level"$name"       exec $$d{Exec}\n);
                } else {
                        print qq($level"$name" MENU\n);
                        olvwm($menu[$no]{$entry},$level.step);
@@ -1207,13 +1205,13 @@
                my $d = $desktop[$entry];
                if($menu[$no]{$entry}<0) {
                        $apps .=
-                               qq($level<item label="$$d[LOCALENAME]">\n).
+                               qq($level<item label="$$d{Name}">\n).
                                qq($level       <action name="Execute">\n).
-                               qq($level        
<execute>$$d[EXEC]</execute>\n).
+                               qq($level        
<execute>$$d{Exec}</execute>\n).
                                qq($level       </action>\n).
                                qq($level</item>\n);
                } else {
-                       print qq($level<menu id="$$d[LOCALENAME]" 
label="$$d[LOCALENAME]">\n);
+                       print qq($level<menu id="$$d{Name}" 
label="$$d{Name}">\n);
                        openbox($menu[$no]{$entry},$level.step);
                        print "$level</menu>\n";
                }
@@ -1226,11 +1224,11 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               ( my $name = $$d[LOCALENAME] ) =~ s/\"/\\\"/g;
+               ( my $name = $$d{Name} ) =~ s/\"/\\\"/g;
                my $icon = "";
-               $icon = scale_icon($$d[ICON]) if $opt{icons};
+               $icon = scale_icon($$d{Icon}) if $opt{icons};
                if($menu[$no]{$entry} < 0) {
-                       ( my $exec = $$d[EXEC] ) =~ s/\"/\\\"/g;
+                       ( my $exec = $$d{Exec} ) =~ s/\"/\\\"/g;
                        $apps .= qq($level"$name" "$icon" "$exec"\n);
                } else {
                        print qq($level"$name" "$icon"\n),
@@ -1247,10 +1245,10 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               my $name = $$d[LOCALENAME];
+               my $name = $$d{Name};
                $name =~ s/\"/\\\"/g;
                if($menu[$no]{$entry} < 0) {
-                       (my $exec = $$d[EXEC]) =~ s/\"/\\\"/g;
+                       (my $exec = $$d{Exec}) =~ s/\"/\\\"/g;
                        $apps .= "$coma\n".
                                qq{$level("$name", EXEC, "$exec")};
                } else {
@@ -1268,10 +1266,10 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               my $name = $$d[LOCALENAME];
+               my $name = $$d{Name};
                $name =~ s/\"/\\\"/g;
                if($menu[$no]{$entry} < 0) {
-                       $apps .= qq($level"$name" EXEC $$d[EXEC]\n);
+                       $apps .= qq($level"$name" EXEC $$d{Exec}\n);
                } else {
                        print qq($level"$name" MENU\n);
                        wmakerold($menu[$no]{$entry}, $level.step);
@@ -1295,13 +1293,13 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               my $name = ($$d[LOCALENAME] =~ /["&<>]/) ?
-                       xmlname($$d[LOCALENAME]) : $$d[LOCALENAME];
+               my $name = ($$d{Name} =~ /["&<>]/) ?
+                       xmlname($$d{Name}) : $$d{Name};
                my $icon = "";
-               $icon = scale_icon($$d[ICON]) if $opt{icons};
+               $icon = scale_icon($$d{Icon}) if $opt{icons};
                if($menu[$no]{$entry} < 0) {
                        $apps .= qq($level<app name="$name" cmd=");
-                       $apps .= ($$d[EXEC] =~ /["&<>]/) ? xmlname($$d[EXEC]) : 
$$d[EXEC];
+                       $apps .= ($$d{Exec} =~ /["&<>]/) ? xmlname($$d{Exec}) : 
$$d{Exec};
                        $apps .= qq(" icon="$icon"/>\n);
                } else {
                        print qq($level<menu name="$name" icon="$icon" 
visible="yes">\n);
@@ -1316,15 +1314,15 @@
        my ($no, $dir)[EMAIL PROTECTED];
        foreach my $entry (keys %{$menu[$no]}) {
                my $d = $desktop[$entry];
-               my $name = encode($opt{encoding},$$d[LOCALENAME]);
+               my $name = encode($opt{encoding},$$d{Name});
                if($menu[$no]{$entry} < 0) {
                        $name =~ s/\"/\\\"/g;
                        my $icon = "";
-                       $icon = scale_icon($$d[ICON]) if $opt{icons};
-                       open F_OUT, ">> $dir/$$d[FILENAME].lnk" or warn 
"$dir/$$d[FILENAME].lnk: $!\n";
+                       $icon = scale_icon($$d{Icon}) if $opt{icons};
+                       open F_OUT, ">> $dir/$$d{file}.lnk" or warn 
"$dir/$$d{file}.lnk: $!\n";
                        print F_OUT "[Shortcut]\n",
                                                "Caption=$name\n",
-                                               "Command=$$d[EXEC]\n";
+                                               "Command=$$d{Exec}\n";
                        print F_OUT "Icon=$icon\n" if length $icon;
                        close F_OUT;
                } else {
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/vfmg/vfmg?r1=1.73.2.52&r2=1.73.2.53&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to