Author: sparky                       Date: Thu Dec  8 02:01:02 2005 GMT
Module: vfmg                          Tag: DEVEL
---- Log message:
- added --only-in option, for throwing apps with OnlyShowIn=GNOME/KDE

---- Files affected:
vfmg:
   vfmg (1.73.2.42 -> 1.73.2.43) 

---- Diffs:

================================================================
Index: vfmg/vfmg
diff -u vfmg/vfmg:1.73.2.42 vfmg/vfmg:1.73.2.43
--- vfmg/vfmg:1.73.2.42 Wed Dec  7 02:20:03 2005
+++ vfmg/vfmg   Thu Dec  8 03:00:57 2005
@@ -29,6 +29,7 @@
        promote         => 0,
        strip           => 0,
        nomenu          => 0,
+       only_in         => "",
        xterm           => "xterm -name xterm-%1 -e %2",
        convert         => "convert -geometry 16x16 \%in \%out",
        full_regen      => 0,
@@ -74,12 +75,14 @@
        'icons-dir|d=s' =>      \$opt{icons_dir},
        'icons-ext|T=s' =>      \$opt{icons_ext},
        'text-icon=s'   =>      \$opt{text_icon},
+       
        'wcnt-file=s'   =>      \$opt{wcnt_file},
        'termapp-class=s'
                                        =>      \$opt{termapp_class},
        'termapp-name=s'
                                        =>      \$opt{termapp_name},
 
+
        'utf8|u!'               =>      \$opt{utf},
        'encoding|E=s'  =>      \$opt{encoding},
        
@@ -87,6 +90,8 @@
        'promote|p!'    =>      \$opt{promote},
        'strip|s!'              =>      \$opt{strip},
        'nomenu|m!'             =>      \$opt{nomenu},
+       'only-in|o=s'
+                                       =>      \$opt{only_in},
        'xterm|r=s'             =>      \$opt{xterm},
        'convert|C=s'   =>      \$opt{convert},
        'full-regen|f!' =>      \$opt{full_regen},
@@ -126,6 +131,7 @@
     -s, --strip    - strip 1st level menu
     -m, --nomenu   - don't add additional menu info
                      (valid for blackbox, fluxbox, openbox, xfce4)
+    -o, --only-in  - coma separated list of accepted OnlyShowIn= WMs
 
     -r, --xterm=   - set x terminal application
                      default: "$defopt{xterm}"
@@ -212,6 +218,12 @@
 } else {
        delete $opt{destdir};
 }
+my @OSI_accept;
+if ( defined $opt{only_in} ) {
+       foreach my $cat ( split /[,\s]+/, $opt{only_in} ) {
+               push @OSI_accept, $cat;
+       }
+}
 # header }}}
 
 # search dirs {{{
@@ -322,7 +334,8 @@
                        /^\s*
                        (Name(?:\[(?:$langs)\])?
                         |GenericName(?:\[(?:$langs)\])?
-                        |Icon|Exec|Categories|Terminal|Type|Encoding|NoDisplay)
+                        |Icon|Exec|Categories|Terminal|Type|Encoding|NoDisplay
+                        |OnlyShowIn)
                        \s* = \s* (.+?)
                        \s*$/ox
                  } <F_IN>,
@@ -331,6 +344,13 @@
 
        return unless lc $tags{Type} eq 'application';
        return if lc $tags{NoDisplay} eq 'true';
+       if ( defined $tags{OnlyShowIn} ) {
+               my $found = 0;
+               foreach my $cat ( split /;+/, $tags{OnlyShowIn} ) {
+                       $found++ if grep {$cat eq $_} @OSI_accept;
+               }
+               return unless $found;
+       }
        $tags{_name} =
          (sort findfirstlang grep /^Name/, keys %tags)[0];
        $tags{name} = $tags{ $tags{_name} };
================================================================

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

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

Reply via email to