vfmg (DEVEL): vfmg - don't create arrays in @desktop but copy hash...

sparky sparky at pld-linux.org
Thu Jan 5 18:37:03 CET 2006


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)=@_;
 	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



More information about the pld-cvs-commit mailing list