vfmg, patche
Przemysław Iskra
sparky w servek.sparky.homelinux.org
Pią, 15 Paź 2004, 01:19:04 CEST
On Fri, Oct 15, 2004 at 01:16:13AM +0200, Przemysław Iskra wrote:
> Chyba wreszcie (trochę) załapałem perl'a i mam nadzieję że się nadają.
*patche się nadają
>
> Zmiany są jedynie dla enlightenment'a bo nie wiem jak mają być
> przekonwertowane ikony dla AfterStepa czy xpde, ale myślę że nie będzie
> ciężko rozszeżyć.
>
> ok, proszę o uwagi i ewentualne wrzucenie do cvs
cholera, jak zwykle niema czego :P
już podsyłam
--
____ Przemysław Iskra - Sparky{PI] _ ___ _ _ "Teraz bóg -Ka
/____) ___ ___ _ _ || | | _ \ | | | kocha Niemców z
\____\ | -_) '___| ||^' ||// \\// < | _/ | | | - mają więcej i
(____/ || (_-_|_ || ||\\ || |_ |_| |_| _| pieniędzy." k
-------------- następna część ---------
--- SPECS/vfmg.spec.orig 2004-09-17 20:15:27.000000000 +0200
+++ SPECS/vfmg.spec 2004-10-15 01:02:36.188490824 +0200
@@ -4,7 +4,7 @@
Summary(pl): Generator Menu opartego na VFolders
Name: vfmg
Version: 0.9.18
-Release: 3
+Release: 4
License: GPL
Group: X11/Window Managers/Tools
Vendor: GoTaR <gotar w pld-linux.org>
@@ -14,6 +14,8 @@
Patch0: %{name}-fvwm2.patch
Patch1: %{name}-fvwm.patch
Patch2: %{name}-use_tempfile.patch
+Patch3: %{name}-codeset.patch
+Patch4: %{name}-scale_icon.patch
URL: http://vfmg.sourceforge.net/
BuildRequires: rpm-perlprov
Requires: applnk >= 1.9.0
@@ -54,6 +56,8 @@
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
%install
rm -rf $RPM_BUILD_ROOT
-------------- następna część ---------
--- vfmg-0.9.18/vfmg.orig 2004-10-14 22:44:54.821663680 +0200
+++ vfmg-0.9.18/vfmg 2004-10-14 23:02:52.508978912 +0200
@@ -867,7 +867,7 @@
open $F_OUT, ">> $dir/$_[1].menu" or warn "$dir/$_[1].menu: $!\n";
print $F_OUT "\"$_[2]\"\n";
foreach my $entry(sort keys %{$menu[$no]}) {
- $name=$entry;
+ $name=encode($o_enc,$entry);
if($menu[$no]{$entry}[0]<0) {
$name=~s/\"/\\\"/g;
print $F_OUT "\"$name\" \"$menu[$no]{$entry}[1]\" exec \"$menu[$no]{$entry}[2]\"\n";
@@ -955,6 +955,10 @@
eval "use open OUT => ':locale'" unless $o_enc;
binmode(STDOUT, ":encoding($o_enc)") if $o_enc;
+require I18N::Langinfo;
+I18N::Langinfo->import(qw(langinfo CODESET));
+$o_enc=langinfo(CODESET()) unless $o_enc;
+
if($o_output eq "icewm") {
icewm($o_strip);
exit;
-------------- następna część ---------
--- vfmg-0.9.18/vfmg.orig 2004-10-14 23:08:00.961232096 +0200
+++ vfmg-0.9.18/vfmg 2004-10-15 00:56:47.422386144 +0200
@@ -66,6 +66,8 @@
die "Unrecognized argument: $o_output\n"
unless $o_output=~/^(aewm|afterstep|blackbox|enlightenment|fbpanel|fluxbox|fvwm|fvwm2|icewm|openbox|olvwm|qvwm|wmaker|wmaker-old|xfce4|xpde)$/;
+$o_full=1 if $o_icons and $o_output=~/^(enlightenment)$/;
+
my $tmp="$ENV{'HOME'}/.local/share";
$tmp="$ENV{'XDG_DATA_HOME'}" if $ENV{'XDG_DATA_HOME'};
my @tmp=("/usr/local/share","/usr/share");
@@ -281,6 +283,7 @@
my $tag;
my $name;
my $dir;
+my $icon_dir;
my @directory; # $directory[level]=[name,icon]
my $include;
my @tmpapps;
@@ -609,6 +612,25 @@
}
}
+my $DoConvert = `which convert`;
+sub scale_icon {
+ my $icon_in = $_[0];
+
+ return $icon_in unless $DoConvert;
+
+ my $icon_out = $icon_in;
+ my $icon_ext = $_[1];
+ my $convert_options = $_[2];
+
+ $icon_out =~ s/^.*\///;
+ $icon_out =~ s/\..*$//;
+ $icon_out = "$icon_dir/$icon_out.$icon_ext";
+ if( ! -f "$icon_out") {
+ system("convert $convert_options $icon_in $icon_out");
+ }
+ return $icon_out;
+}
+
$level="";
sub icewm {
my $no=$_[0];
@@ -868,15 +890,18 @@
print $F_OUT "\"$_[2]\"\n";
foreach my $entry(sort keys %{$menu[$no]}) {
$name=encode($o_enc,$entry);
+ my $icon="";
+ $icon=$menu[$no]{$entry}[1] if $o_icons;
+ $icon=scale_icon($icon,"png","-geometry 18x18") if $icon;
if($menu[$no]{$entry}[0]<0) {
$name=~s/\"/\\\"/g;
- print $F_OUT "\"$name\" \"$menu[$no]{$entry}[1]\" exec \"$menu[$no]{$entry}[2]\"\n";
+ print $F_OUT "\"$name\" \"$icon\" exec \"$menu[$no]{$entry}[2]\"\n";
} else {
$name=substr($name,1);
$name=~s|/||g;
my $name2=$name;
$name2=~s/\"/\\\"/g;
- print $F_OUT "\"$name2\" \"$menu[$no]{$entry}[1]\" menu \"$dir/$name2.menu\"\n";
+ print $F_OUT "\"$name2\" \"$icon\" menu \"$dir/$name2.menu\"\n";
enlightenment($menu[$no]{$entry}[0],"$name","$name");
}
}
@@ -1041,6 +1066,13 @@
rename("$dir","$dir.old");
}
mkpath("$dir",0,0700); # or die
+ $icon_dir="$ENV{'HOME'}/.enlightenment/icons";
+ if(! -d "$icon_dir") {
+ if(-f "$icon_dir") {
+ rename("$icon_dir","$icon_dir.old");
+ }
+ mkpath("$icon_dir",0,0700);
+ }
enlightenment($o_strip,"index","Enlightenment");
exit;
}
Więcej informacji o liście dyskusyjnej pld-devel-pl