Check-in [fba51bbf16]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

SHA1 Hash:fba51bbf16946a12962110679c614eeee9b5dd88
Date: 2012-08-13 03:50:56
User: BarryK
Comment:support/find_cat.c enhanced, now generates category;subcategory, latter optional

Tags And Properties
Changes

Changes to woof-arch/x86/build/support/find_cat

cannot compute difference between binary files

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-Graphic.xpm

@@ -1,1 +1,1 @@
-mini-palette.xpm
+mini-cave.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-adventure.xpm

@@ -1,1 +1,1 @@
-
+mini-xlander.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-appearance.xpm

@@ -1,1 +1,1 @@
-
+mini.window3d.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-arcade.xpm

@@ -1,1 +1,1 @@
-
+mini-ball.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-block.xpm

@@ -1,1 +1,1 @@
-
+adblock.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-boardgame.xpm

@@ -1,1 +1,1 @@
-
+mini-slon.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-browser.xpm

@@ -1,1 +1,1 @@
-
+mini.netscape.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-cardgame.xpm

@@ -1,1 +1,1 @@
-
+mini-espada.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-catalog.xpm

@@ -1,1 +1,1 @@
-
+mini-book1.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-chat.xpm

@@ -1,1 +1,1 @@
-
+contact16.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-connect.xpm

@@ -1,24 +1,1 @@
-/* XPM */
-static char * mini-connect_xpm[] = {
-"16 16 5 1",
-" 	c None s None",
-".	c black",
-"X	c #808080",
-"o	c red",
-"O	c yellow",
-"                ",
-"                ",
-"          .     ",
-"       X .X     ",
-"      XooX  .   ",
-"     Xoooo .X   ",
-"    XooooooX    ",
-"    XooooooX    ",
-"    XoooooX.    ",
-"    XooooX.     ",
-"   XOXXXX.      ",
-"  XOXX...       ",
-" XOXX           ",
-"  XX            ",
-"  X             ",
-"                "};
+mini-telnet.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-database.xpm

@@ -1,1 +1,1 @@
-
+mini-books.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-development.xpm

@@ -1,1 +1,1 @@
-
+mini-git.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-doclayout.xpm

@@ -1,1 +1,1 @@
-
+onyx1616.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-filemanager.xpm

@@ -1,1 +1,1 @@
-
+mini-ofolder.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-finance.xpm

@@ -1,1 +1,1 @@
-
+mini-dollar.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-find.xpm

@@ -1,1 +1,1 @@
-
+mini-zoom.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-graphicutil.xpm

@@ -1,1 +1,1 @@
-
+mini.rainbow.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-installation.xpm

@@ -1,1 +1,1 @@
-
+mini-ray.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-kde.xpm

@@ -1,1 +1,1 @@
-
+kde_16x16.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-locale.xpm

@@ -1,1 +1,1 @@
-
+mini-clock.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-mailnews.xpm

@@ -1,1 +1,1 @@
-
+mini-mail.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-optical.xpm

@@ -1,1 +1,1 @@
-
+mini-cd.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-organizer.xpm

@@ -1,1 +1,1 @@
-
+mini-book2.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-package.xpm

@@ -1,1 +1,1 @@
-
+package.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-paint.xpm

@@ -1,29 +1,1 @@
-/* XPM */
-static char *mini-paint[] = {
-/* width height num_colors chars_per_pixel */
-"    16    16       6            1",
-/* colors */
-"  c None s None",
-". c black",
-"# c #808080",
-"a c red",
-"i c white",
-"o c blue",
-/* pixels */
-"                ",
-"#########       ",
-"#iiiiiii#.      ",
-"#iiiiiii#i.    o",
-"#iiiiiii#...  oo",
-"#iiiiiiiiii. oo.",
-"#iiaiiiiiii.oo. ",
-"#iiiaaiiiiioo.  ",
-"#iiiiaaiiioo.   ",
-"#iiiaaaiioo.    ",
-"#iiaaaii#...    ",
-"#iiaaii#i.i.    ",
-"#iaaaaaa.ii.    ",
-"#iaaaaaiiii.    ",
-"............    ",
-"                "
-};
+mini-palette.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-phone.xpm

@@ -1,1 +1,1 @@
-
+phone16.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-plug.xpm

@@ -1,1 +1,24 @@
-
+/* XPM */
+static char * mini-connect_xpm[] = {
+"16 16 5 1",
+" 	c None s None",
+".	c black",
+"X	c #808080",
+"o	c red",
+"O	c yellow",
+"                ",
+"                ",
+"          .     ",
+"       X .X     ",
+"      XooX  .   ",
+"     Xoooo .X   ",
+"    XooooooX    ",
+"    XooooooX    ",
+"    XoooooX.    ",
+"    XooooX.     ",
+"   XOXXXX.      ",
+"  XOXX...       ",
+" XOXX           ",
+"  XX            ",
+"  X             ",
+"                "};

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-print.xpm

@@ -1,1 +1,1 @@
-
+tb_print.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-process.xpm

@@ -1,1 +1,1 @@
-
+mini-perf.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-puppy.xpm

@@ -1,1 +1,1 @@
-
+mini-dog.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-puzzle.xpm

@@ -1,1 +1,1 @@
-
+mini-maze.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-remotelogin.xpm

@@ -1,1 +1,25 @@
-
+/* XPM */
+static char *mini_xpm[] = {
+"16 16 5 1",
+" 	c None",
+"1	c #000000",
+"2	c #0000FF",
+"3	c #808080",
+"4	c #FFFFFF",
+" 111111111111111",
+" 122222222222221",
+" 122222222222221",
+" 144444444444441",
+" 141444444444441",
+" 144144444444441",
+" 141444444444441",
+" 144444444444441",
+" 144444444444441",
+" 144444444444441",
+" 144444444444441",
+" 111111111111111",
+"      11        ",
+"     11         ",
+"111111          ",
+"11111           "
+};

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-scanner.xpm

@@ -1,1 +1,1 @@
-
+scanner16.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-settings.xpm

@@ -1,1 +1,1 @@
-
+mini-panel.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-shell.xpm

@@ -1,1 +1,1 @@
-
+mini-sh1.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-shooter.xpm

@@ -1,1 +1,36 @@
-
+/* XPM */
+static char *shooter_xpm[] = {
+"16 16 16 1",
+"0	c #000000",
+"1	c #FF0000",
+"2	c #00FF00",
+"3	c #FFFF00",
+"4	c #0000FF",
+"5	c #FF00FF",
+"6	c #00FFFF",
+"7	c #FFFFFF",
+"8	c #DBDBDB",
+"9	c #B6B6B6",
+" 	c None",
+"B	c #6D6D6D",
+"C	c #494949",
+"D	c #242424",
+"E	c #DB0000",
+"F	c #B60000",
+"                ",
+"              0 ",
+"  00000000000000",
+" 009999999999990",
+" 099999999999990",
+" 099999999000000",
+" 0009990000     ",
+"   09990  0     ",
+"   09990  0     ",
+"  09999000      ",
+"  099990        ",
+" 099990         ",
+" 099990         ",
+"099990          ",
+"D99990          ",
+" 0000           "
+};

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-sleep.xpm

@@ -1,1 +1,1 @@
-
+mini-monitor.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-spreadsheet.xpm

@@ -1,1 +1,1 @@
-
+spreadsheet.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-storage.xpm

@@ -1,1 +1,1 @@
-
+mini-hdisk.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-transfer.xpm

@@ -1,1 +1,1 @@
-
+mini-ftp.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-video.xpm

@@ -1,1 +1,1 @@
-
+Animation.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-viewer.xpm

@@ -1,1 +1,1 @@
-
+mini-eye.xpm

Changes to woof-code/rootfs-skeleton/usr/local/lib/X11/mini-icons/mini-wizard.xpm

@@ -1,1 +1,1 @@
-
+wizard16.xpm

Changes to woof-code/support/find_cat.c

@@ -1,10 +1,11 @@
 /*called from 0setup
   Compile like this:
   # gcc -O2 -o find_cat find_cat.c
   * 120708 BK add 'gnome-mplayer', 'chromium', 'planner' to categories.
   * 120715 BK improve description check for Fun category.
+  * 120812 BK find sub-category.
 */
 
 /*
 bash script to make description words into C code:
 
@@ -67,10 +68,11 @@
 #include <stdlib.h>
 #include <string.h>
 
 char *name;
 char *desc;
+int i;
 
 void parseOneDB();
 
 int main(int argc, const char* argv[]) {
 	if(argc < 2) { // not enough arguments
@@ -106,16 +108,10 @@
 		strcat(desc, argv[i]); // add chars
 		chars+=strlen(argv[i]);
 	}
 	strcat(desc, " "); // add last space
 
-	parseOneDB(); // parse
-	return 0;
-}
-
-void parseOneDB() {
-	int i;
 	//lower case name
 	for(i=0;i<strlen(name);++i) {
 		if (name[i] >= 'A' && name[i] <= 'Z') {
 			name[i] = name[i] + ('a'-'A');
 		}
@@ -125,42 +121,192 @@
 		if (desc[i] >= 'A' && desc[i] <= 'Z') {
 			desc[i] = desc[i] + ('a'-'A');
 		}
 	}
 
+	parseOneDB(); // parse
+
+	return 0;
+}
+
+void parseOneDB() {
+
 	//names of packages in each category
-	char PKG_CAT_Desktop[]=" blackbox compiz desk_icon_theme_browndust desk_icon_theme_darkfire desk_icon_theme_original e16 fbpanel fluxbox fvwm gfontsel glipper gtk-chtheme gtk_theme_citrus_cut gtk_theme_fishing_the_sky gtk_theme_fishpie gtk_theme_gradient_brown gtk_theme_gradient_grey gtk_theme_m8darker gtk_theme_phacile_blue gtk_theme_polished_blue gtk_theme_stardust_zigbert gxset icewm jwm2 jwmconfig2 lxpanel metacity minixcal obconf openbox pupx rox_filer rox_filer twm wallpaper windowmaker xclipboard xclock xkbconfigmanager xlock_gui xlockmore ";
-	char PKG_CAT_System[]=" absvolume absvolume_puppy absvolume_puppy asapm asapm blinky freememapplet freememapplet freememapplet_xlib gparted gparted gtklp hardinfo hpijs lxtask memtest memtester pprocess pschedule sysprof_DEV usbview xload ";
-	char PKG_CAT_Setup[]=" net_setup net_setup_retro petget wakepup2 ";
-	char PKG_CAT_Utility[]=" alltray clamav cutecom floppy gadmin-rsync gexec glade2bas_DEV hiawatha isomaster lxrad lxrad_DEV lzma minicom most pbackup picocom pmirror rxvt rxvt rxvt-unicode snotes urxvt-unicode xarchive xarchiver xfdiff-cut xfprot xterm ";
-	char PKG_CAT_Filesystem[]=" gdmap gfnrename gwhere mc nautilus pdrive pfind prename uxplor worker xfe zfind ";
-	char PKG_CAT_Graphic[]=" autoq3d autotrace blender dia dia-gnomeless eog flphoto fotoxx gcolor2 gimageview gimp gimp-help gphoto2 gpicview gqview grabc gview inkscape inkscape inkscapelite inkview mtpaint scale2x varicad xfig xpaint xv ";
-	char PKG_CAT_Document[]=" abiword abiword-dictionary-en abiword-plugins adobereader aiksaurus amaya bluefish chmsee cssed e3 emacs epdfview geany gedit ghex gv jed joe jove leafpad leafpad link-grammar lyx medit mp nano pdfedit scite scribus xman xpdf zedit ";
-	char PKG_CAT_Calculate[]=" acct calcoo cgtkcalc expensetracker galculator gmeasures gnumeric grisbi homebank moneymanagerx planner ycalc xcalc ";
-	char PKG_CAT_Personal[]=" datakiosk didiwiki dlume evolution fpm2 notecase osmo pplog pstopwatch ptimer ";
-	char PKG_CAT_Network[]=" autoconnect bind file_sharing-curlftpfs-mpscan fwbuilder gfilemanager gnome-ppp gpptp john linux_firewall monkey mtr nmap pnethood pppoeconf_pup pure_ftpd pwireless rp_pppoe_cli superscan wifi-radar wireshark wvdial ";
-	char PKG_CAT_Internet[]=" alpine axel ayttm bareftp bitchx chromium dillo ekiga elinks elm epic4 fetchmail filezilla firefox flashplayer flock gajim gcurl getmail gftp gtkmoz gurlchecker jags lftp ihu licq links lynx mailx mcabber mldonkey mozilla-firefox mozilla-thunderbird msmtp mutt ncftp netsurf nn pan pctorrent pidgin pidgin_perl psip puppy-podcast-grabber pwget seamonkey seamonkey seamonkey_addons sendmail skipstone ssh_gui sylpheed urlgfe wengophone xchat ";
-	char PKG_CAT_Multimedia[]=" amarok amp asunder audacious audacity aumix cdw cinelerra dkop gecko-mediaplayer gnome-mplayer grafburn gtkam gxine madplay mhwaveedit mpg321 mplayer mplayer_codecs_basic mplayer_codecs_full mplayer-fonts mplayerplug-in pburn pburn_theme_pburn_original pcdripper pdvdrsab pmetatagger pmusic pmusic_THEME_pmusic_original pupdvdtool ripoff sgmixer simpleburn timidity++ workbone xfmedia xfreecd xine-ui xsane zmixer ";
-	char PKG_CAT_Fun[]=" frozen-bubble gnuchess gtans lincity picpuz rubix supertux tile vitetris wesnoth wormux xinvaders xsoldier ";
-	char PKG_CAT_Develop[]=" anjuta boo clisp cmake cvs gambas lua mercurial mono nant ocaml nasm poedit ruby subversion svn vala valgrind ";
+	char PKG_CAT_Desktop1[]=" compiz gxset "; /*Desktop*/
+	char PKG_CAT_Desktop2[]=" desk_icon_theme_area042 desk_icon_theme_blue_moon desk_icon_theme_browndust desk_icon_theme_brown_marble desk_icon_theme_darkfire desk_icon_theme_fs desk_icon_theme_jq8flat desk_icon_theme_jungle desk_icon_theme_lagabluenight desk_icon_theme_original desk_icon_theme_silver_marble desk_icon_theme_smooth_color desk_icon_theme_stardust desk_icon_theme_stark042 desk_icon_theme_malays_uniblack desk_icon_theme_malays_uniblue desk_icon_theme_neu desk_icon_theme_shining_silver gtk-chtheme gtk_theme_citrus_cut gtk_theme_delicate_blue gtk_theme_fishing_the_sky gtk_theme_fishpie gtk_theme_flatbluecontrast gtk_theme_flat_grey gtk_theme_flat_grey_rounded gtk_theme_gradient_brown gtk_theme_gradient_grey gtk_theme_m8darker gtk_theme_phacile_blue gtk_theme_polished_blue gtk_theme_stardust_zigbert gtk_theme_stark wallpaper "; /*appearance*/
+	char PKG_CAT_Desktop3[]=" pupx xclock xkbconfigmanager "; /*settings*/
+	char PKG_CAT_Desktop4[]=" gfontsel glipper minixcal xclipboard "; /*applet*/
+	char PKG_CAT_Desktop5[]=" blackbox e16 fbpanel fluxbox fvwm icewm jwm2 jwmconfig2 lxpanel metacity obconf openbox twm windowmaker "; /*windows*/
+	char PKG_CAT_Desktop6[]=" xlock_gui xlockmore "; /*sleep*/
+
+	char PKG_CAT_System1[]=" blinky hardinfo sysprof_DEV usbview xload ";
+	char PKG_CAT_System2[]=" asapm lxtask pprocess pschedule "; /*process*/
+	char PKG_CAT_System3[]=" freememapplet freememapplet_tray freememapplet_xlib memtest memtester "; /*memory*/
+	char PKG_CAT_System4[]=" gtklp hpijs "; /*print*/
+	char PKG_CAT_System5[]=" gparted "; /*storage*/
+
+	char PKG_CAT_Setup1[]="  "; /*Setup*/
+	char PKG_CAT_Setup2[]=" petget "; /*puppy*/
+	char PKG_CAT_Setup3[]=" net_setup net_setup_retro "; /*wizard*/
+	char PKG_CAT_Setup4[]=" wakepup2 "; /*installation*/
+
+	char PKG_CAT_Utility1[]=" alltray clamav floppy gadmin-rsync gexec hiawatha isomaster lzma most snotes xarchive xfdiff-cut xfprot "; /*Utility*/
+	char PKG_CAT_Utility2[]=" glade2bas_DEV lxrad lxrad_DEV "; /*development*/
+	char PKG_CAT_Utility3[]=" pbackup pmirror xarchiver "; /*package*/
+	char PKG_CAT_Utility4[]=" cutecom minicom picocom rxvt rxvt-unicode urxvt-unicode xterm "; /*shell*/
+
+	char PKG_CAT_Filesystem1[]=" prename "; /*Filesystem*/
+	char PKG_CAT_Filesystem2[]=" gfnrename gwhere mc nautilus pdrive rox_filer rox-filer uxplor worker xfe "; /*filemanager*/
+	char PKG_CAT_Filesystem3[]=" pfind zfind "; /*find*/
+	char PKG_CAT_Filesystem4[]=" gdmap "; /*storage*/
+
+	char PKG_CAT_Graphic1[]=" autoq3d autotrace blender xv "; /*Graphic*/
+	char PKG_CAT_Graphic2[]=" gimp gimp-help mtpaint xpaint "; /*paint*/
+	char PKG_CAT_Graphic3[]=" inkscape inkscapelite inkview varicad xfig "; /*draw*/
+	char PKG_CAT_Graphic4[]=" dia dia-gnomeless "; /*flow*/
+	char PKG_CAT_Graphic5[]=" eog flphoto fotoxx gimageview gpicview gqview gview "; /*viewer*/
+	char PKG_CAT_Graphic6[]=" gcolor2 grabc scale2x "; /*graphicutil*/
+	char PKG_CAT_Graphic7[]=" gphoto2 gtkam "; /*camera*/
+	char PKG_CAT_Graphic8[]=" peasyscan xsane "; /*scanner*/
+	char PKG_CAT_Graphic9[]=" peasyprint "; /*print*/
+
+	char PKG_CAT_Document1[]=" adobereader chmsee cssed emacs ghex gv jove "; /*Document*/
+	char PKG_CAT_Document2[]="  "; /*catalog*/
+	char PKG_CAT_Document3[]=" abiword amaya lyx scribus "; /*doclayout*/
+	char PKG_CAT_Document4[]=" bluefish e3 geany gedit jed joe leafpad medit mp nano pdfedit scite zedit "; /*edit*/
+	char PKG_CAT_Document5[]=" epdfview xman xpdf "; /*viewer*/
+
+	char PKG_CAT_Calculate1[]="  "; /*Business*/
+	char PKG_CAT_Calculate2[]=" gnumeric "; /*spreadsheet*/
+	char PKG_CAT_Calculate3[]=" planner "; /*planner*/
+	char PKG_CAT_Calculate4[]=" acct expensetracker grisbi homebank moneymanagerx "; /*finance*/
+	char PKG_CAT_Calculate5[]=" calcoo cgtkcalc galculator gmeasures ycalc xcalc "; /*calc*/
+
+	char PKG_CAT_Personal1[]=" datakiosk evolution "; /*Personal*/
+	char PKG_CAT_Personal2[]=" dlume "; /*database*/
+	char PKG_CAT_Personal3[]=" osmo "; /*date*/
+	char PKG_CAT_Personal4[]=" didiwiki notecase pplog "; /*organizer*/
+	char PKG_CAT_Personal5[]=" fpm2 "; /*lock*/
+	char PKG_CAT_Personal6[]=" pstopwatch ptimer "; /*clock*/
+
+	char PKG_CAT_Network1[]=" autoconnect bind gfilemanager monkey mtr nmap pnethood superscan wifi-radar wireshark "; /*Network*/
+	char PKG_CAT_Network2[]=" fwbuilder linux_firewall "; /*firewall*/
+	char PKG_CAT_Network3[]=" gnome-ppp gpptp pppoeconf_pup rp_pppoe_cli wvdial "; /*phone*/
+	char PKG_CAT_Network4[]=" pwireless "; /*connect*/
+	char PKG_CAT_Network5[]=" file_sharing-curlftpfs-mpscan pure_ftpd "; /*transfer*/
+
+	char PKG_CAT_Internet1[]=" alpine bitchx chromium dillo ekiga elinks elm epic4 filezilla firefox flashplayer flock gajim gtkmoz gurlchecker jags ihu licq links lynx mcabber mldonkey mozilla-firefox msmtp mutt netsurf nn pctorrent seamonkey seamonkey seamonkey_addons skipstone urlgfe "; /*Internet*/
+	char PKG_CAT_Internet2[]=" adblock "; /*block*/
+	char PKG_CAT_Internet3[]=" ayttm pidgin pidgin_perl psip wengophone xchat "; /*chat*/
+	char PKG_CAT_Internet4[]=" fetchmail getmail mailx mozilla-thunderbird pan sendmail sylpheed "; /*mailnews*/
+	char PKG_CAT_Internet5[]=" ssh_gui "; /*remotelogin*/
+	char PKG_CAT_Internet6[]=" axel bareftp gcurl gftp lftp ncftp puppy-podcast-grabber pwget "; /*transfer*/
+
+	char PKG_CAT_Multimedia1[]=" amarok amp audacious cinelerra dkop gecko-mediaplayer gnome-mplayer gxine mpg321 mplayer mplayer_codecs_basic mplayer_codecs_full mplayer-fonts mplayerplug-in pmetatagger pmusic pmusic_THEME_pmusic_original workbone xfmedia xine-ui "; /*Multimedia*/
+	char PKG_CAT_Multimedia2[]=" asunder cdw grafburn pburn pburn_theme_pburn_original pcdripper pdvdrsab ripoff simpleburn xfreecd "; /*optical*/
+	char PKG_CAT_Multimedia3[]=" absvolume absvolume_puppy absvolume_puppy audacity aumix madplay mhwaveedit sgmixer timidity++ zmixer "; /*sound*/
+	char PKG_CAT_Multimedia4[]=" pupdvdtool "; /*video*/
+
+	char PKG_CAT_Fun1[]=" frozen-bubble gtans supertux tile vitetris wesnoth wormux xinvaders "; /*Fun*/
+	char PKG_CAT_Fun2[]=" lincity "; /*adventure*/
+	char PKG_CAT_Fun3[]=" gnuchess "; /*boardgame*/
+	char PKG_CAT_Fun4[]=" "; /*cardgame*/
+	char PKG_CAT_Fun5[]=" picpuz rubix "; /*puzzle*/
+	char PKG_CAT_Fun6[]=" xsoldier "; /*shooter*/
+	char PKG_CAT_Fun7[]=" "; /*arcade*/
+
+	char PKG_CAT_Develop[]=" anjuta bacon boo clisp cmake cvs gambas lua mercurial mono nant ocaml nasm poedit ruby subversion svn vala valgrind ";
+
 	char PKG_CAT_BuildingBlock[]=" 915resolution a2ps a52dec acl alsa-lib alsa-utils atk audiofile aufs autocutsel autologin bash bbc_provided bc bcrypt bdb bin boehm-gc bogofilter bridge-utils busybox buttondialog bzip2 cairo cairomm cddetect cdp cdparanoia cdrdao cdrkit cdrtools chmlib coreutils cpio ctorrent cups cups cups_pdf curl ddcprobe device_mapper dhcp dhcpcd dhcp_client dialog dialog dictd_client dietlibc diffstat diffutils disktype dmidecode docbook-xml dosfstools dotpuphandler dpkg-deb dvdauthor dvd+rwtools e2fsprogs ed edid eject elspci enchant exiv2 expat faac faad2 ffmpeg file findutils flac foomatic-filters freetype fribidi fuse gail gawk gcc gdbm getdir gettext ghostscript ghostscript gifsicle gins glib glibc glibc_i18n_en glibc_locales glibmm gnome_menus goffice goffice7 grep grub gtk+ gtk+ gtkdialog gtkdialog2 gtkdialog3 gtklist04mu gtklogfileviewer gtkmm guess_fs gutenprint gutenprint gxmessage gzip hdparm hicolor-icon-theme hotplug2stdout hsfmodem id3lib ifplugd ifplugd_old inotail inotify-tools installwatch iptables jasper kbd lame lcms less libao libart libcap libcddb libcdio libdaemon libdvdcss libdvdnav libdvdplay libdvdread libexif libexif-gtk libexo libexo_lib libgd libgif libglade libgnomecanvas libgnomecanvasmm libgnomecups libgnomecups libgnomeprint libgnomeprint libgnomeprintui libgphoto2 libgsf libid3tag libidl libjpeg libmad libmng libogg libpng librsvg libsigc++ libsndfile libstdc++ libtiff libtool libungif libusb libvorbis libxfce4util libxfcegui4 libxml libxml_python libxscrnsaver libxslt libxslt_python linux-header metamail mimencode mirdir mktemp modem_stats module-init-tools module_init_tools mp3info mut2 ncompress ncurses ndiswrapper nenscript netpbm net-tools normalize ntfs-3g ntfsprogs openssh_client openssl pango parted pciutils pcmcia-cs pcmciautils pcre perl perl-compress-zlib perl-digest-sha1 perl-extutils-depends perl-extutils-pkgconfig perl-html-parser perl-uri perl-xml-parser perl-xml-simple pfilesearch pixman poppler popt ppp pptp procinfo procps programchooser psmisc pup_dock puppybasic puppyinputdetect puppyserialdetect qt4 readline reiserfsprogs replaceit rman rsync samba samba_client sane-backends sdparm sed setserial setvol sgml-base since sqlite squashfs_tools squashfs-tools startup-notification sysfsutils syslinux sysvinit tar time truncate udev udev_cut unclutter unionfs_utils unzip util-linux vamps vcdimager vorbis-tools waitmax wavplay wget wireless-tools wpa_supplicant wpa_supplicant wpa_supplicant wv x264 xclip xcut xdg_puppy xdialog xine-lib xine-plugin xmessage xorg_base xorg_really_base xorg_xfbdev xorg_xorg_base xorg_xorg_dri xorg_xorg_full_dri xorg_xorg_servers xorg_xvesa xvidcore yaf_splash zenity zip zlib ";
 	char PKG_CAT_Help[]=" linux-faqs linux-howtos man-pages ";
 
-	if(strstr(PKG_CAT_Desktop, name)) {printf("Desktop");return;}
-	if(strstr(PKG_CAT_System, name)) {printf("System");return;}
-	if(strstr(PKG_CAT_Setup, name)) {printf("Setup");return;}
-	if(strstr(PKG_CAT_Utility, name)) {printf("Utility");return;}
-	if(strstr(PKG_CAT_Filesystem, name)) {printf("Filesystem");return;}
-	if(strstr(PKG_CAT_Graphic, name)) {printf("Graphic");return;}
-	if(strstr(PKG_CAT_Document, name)) {printf("Document");return;}
-	if(strstr(PKG_CAT_Calculate, name)) {printf("Calculate");return;}
-	if(strstr(PKG_CAT_Personal, name)) {printf("Personal");return;}
-	if(strstr(PKG_CAT_Network, name)) {printf("Network");return;}
-	if(strstr(PKG_CAT_Internet, name)) {printf("Internet");return;}
-	if(strstr(PKG_CAT_Multimedia, name)) {printf("Multimedia");return;}
-	if(strstr(PKG_CAT_Fun, name)) {printf("Fun");return;}
-	if(strstr(PKG_CAT_Develop, name)) {printf("Develop");return;}
+	if(strstr(PKG_CAT_Desktop1, name)) {printf("Desktop");return;}			/*icon: mini-Desktop.xpm*/
+	if(strstr(PKG_CAT_Desktop2, name)) {printf("Desktop;appearance");return;} /*icon: mini-appearance.xpm*/
+	if(strstr(PKG_CAT_Desktop3, name)) {printf("Desktop;settings");return;}
+	if(strstr(PKG_CAT_Desktop4, name)) {printf("Desktop;applet");return;}
+	if(strstr(PKG_CAT_Desktop5, name)) {printf("Desktop;windows");return;}
+	if(strstr(PKG_CAT_Desktop6, name)) {printf("Desktop;sleep");return;}
+
+	if(strstr(PKG_CAT_System1, name)) {printf("System");return;}
+	if(strstr(PKG_CAT_System2, name)) {printf("System;process");return;}
+	if(strstr(PKG_CAT_System3, name)) {printf("System;memory");return;}
+	if(strstr(PKG_CAT_System4, name)) {printf("System;print");return;}
+	if(strstr(PKG_CAT_System5, name)) {printf("System;storage");return;}
+
+	if(strstr(PKG_CAT_Setup1, name)) {printf("Setup");return;}
+	if(strstr(PKG_CAT_Setup2, name)) {printf("Setup;puppy");return;}
+	if(strstr(PKG_CAT_Setup3, name)) {printf("Setup;wizard");return;}
+	if(strstr(PKG_CAT_Setup4, name)) {printf("Setup;installation");return;}
+
+	if(strstr(PKG_CAT_Utility1, name)) {printf("Utility");return;}
+	if(strstr(PKG_CAT_Utility2, name)) {printf("Utility;development");return;}
+	if(strstr(PKG_CAT_Utility3, name)) {printf("Utility;package");return;}
+	if(strstr(PKG_CAT_Utility4, name)) {printf("Utility;shell");return;}
+
+	if(strstr(PKG_CAT_Filesystem1, name)) {printf("Filesystem");return;}
+	if(strstr(PKG_CAT_Filesystem2, name)) {printf("Filesystem;filemanager");return;}
+	if(strstr(PKG_CAT_Filesystem3, name)) {printf("Filesystem;find");return;}
+	if(strstr(PKG_CAT_Filesystem4, name)) {printf("Filesystem;storage");return;}
+
+	if(strstr(PKG_CAT_Graphic1, name)) {printf("Graphic");return;}
+	if(strstr(PKG_CAT_Graphic2, name)) {printf("Graphic;paint");return;}
+	if(strstr(PKG_CAT_Graphic3, name)) {printf("Graphic;draw");return;}
+	if(strstr(PKG_CAT_Graphic4, name)) {printf("Graphic;flow");return;}
+	if(strstr(PKG_CAT_Graphic5, name)) {printf("Graphic;viewer");return;}
+	if(strstr(PKG_CAT_Graphic6, name)) {printf("Graphic;graphicutil");return;}
+	if(strstr(PKG_CAT_Graphic7, name)) {printf("Graphic;camera");return;}
+	if(strstr(PKG_CAT_Graphic8, name)) {printf("Graphic;scanner");return;}
+	if(strstr(PKG_CAT_Graphic9, name)) {printf("Graphic;print");return;}
+
+	if(strstr(PKG_CAT_Document1, name)) {printf("Document");return;}
+	if(strstr(PKG_CAT_Document2, name)) {printf("Document;catalog");return;}
+	if(strstr(PKG_CAT_Document3, name)) {printf("Document;doclayout");return;}
+	if(strstr(PKG_CAT_Document4, name)) {printf("Document;edit");return;}
+	if(strstr(PKG_CAT_Document5, name)) {printf("Document;viewer");return;}
+
+	if(strstr(PKG_CAT_Calculate1, name)) {printf("Business");return;}
+	if(strstr(PKG_CAT_Calculate2, name)) {printf("Business;spreadsheet");return;}
+	if(strstr(PKG_CAT_Calculate3, name)) {printf("Business;planner");return;}
+	if(strstr(PKG_CAT_Calculate4, name)) {printf("Business;finance");return;}
+	if(strstr(PKG_CAT_Calculate5, name)) {printf("Business;calc");return;}
+
+	if(strstr(PKG_CAT_Personal1, name)) {printf("Personal");return;}
+	if(strstr(PKG_CAT_Personal2, name)) {printf("Personal;database");return;}
+	if(strstr(PKG_CAT_Personal3, name)) {printf("Personal;date");return;}
+	if(strstr(PKG_CAT_Personal4, name)) {printf("Personal;organizer");return;}
+	if(strstr(PKG_CAT_Personal5, name)) {printf("Personal;lock");return;}
+	if(strstr(PKG_CAT_Personal6, name)) {printf("Personal;clock");return;}
+
+	if(strstr(PKG_CAT_Network1, name)) {printf("Network");return;}
+	if(strstr(PKG_CAT_Network2, name)) {printf("Network;firewall");return;}
+	if(strstr(PKG_CAT_Network3, name)) {printf("Network;phone");return;}
+	if(strstr(PKG_CAT_Network4, name)) {printf("Network;connect");return;}
+	if(strstr(PKG_CAT_Network5, name)) {printf("Network;transfer");return;}
+
+	if(strstr(PKG_CAT_Internet1, name)) {printf("Internet");return;}
+	if(strstr(PKG_CAT_Internet2, name)) {printf("Internet;block");return;}
+	if(strstr(PKG_CAT_Internet3, name)) {printf("Internet;chat");return;}
+	if(strstr(PKG_CAT_Internet4, name)) {printf("Internet;mailnews");return;}
+	if(strstr(PKG_CAT_Internet5, name)) {printf("Internet;remotelogin");return;}
+	if(strstr(PKG_CAT_Internet6, name)) {printf("Internet;transfer");return;}
+
+	if(strstr(PKG_CAT_Multimedia1, name)) {printf("Multimedia");return;}
+	if(strstr(PKG_CAT_Multimedia2, name)) {printf("Multimedia;optical");return;}
+	if(strstr(PKG_CAT_Multimedia3, name)) {printf("Multimedia;sound");return;}
+	if(strstr(PKG_CAT_Multimedia4, name)) {printf("Multimedia;video");return;}
+
+	if(strstr(PKG_CAT_Fun1, name)) {printf("Fun");return;}
+	if(strstr(PKG_CAT_Fun2, name)) {printf("Fun;adventure");return;}
+	if(strstr(PKG_CAT_Fun3, name)) {printf("Fun;boardgame");return;}
+	if(strstr(PKG_CAT_Fun4, name)) {printf("Fun;cardgame");return;}
+	if(strstr(PKG_CAT_Fun5, name)) {printf("Fun;puzzle");return;}
+	if(strstr(PKG_CAT_Fun6, name)) {printf("Fun;shooter");return;}
+	if(strstr(PKG_CAT_Fun7, name)) {printf("Fun;arcade");return;}
+
+	/*if(strstr(PKG_CAT_Develop, name)) {printf("Develop");return;}*/
+	if(strstr(PKG_CAT_Develop, name)) {printf("Utility;development");return;}
+
 	if(strstr(PKG_CAT_BuildingBlock, name)) {printf("BuildingBlock");return;}
 	if(strstr(PKG_CAT_Help, name)) {printf("Help");return;}
 
 	if(strstr(name, " lib")) {printf("BuildingBlock");return;} //check if library
 
@@ -170,78 +316,78 @@
 	if(strstr(desc, " documentation ")) {printf("Help");return;}
 	if(strstr(desc, " faq ")) {printf("Help");return;}
 	if(strstr(desc, " doc ")) {printf("Help");return;}
 	if(strstr(desc, " docs ")) {printf("Help");return;}
 	if(strstr(desc, " help ")) {printf("Help");return;}
-	if(strstr(desc, " develop ")) {printf("Develop");return;}
-	if(strstr(desc, " development ")) {printf("Develop");return;}
-	if(strstr(desc, " programming ")) {printf("Develop");return;}
-	if(strstr(desc, " language ")) {printf("Develop");return;}
-	if(strstr(desc, " lua ")) {printf("Develop");return;}
-	if(strstr(desc, " vala ")) {printf("Develop");return;}
-	if(strstr(desc, "lisp ")) {printf("Develop");return;}
-	if(strstr(desc, " mono ")) {printf("Develop");return;}
-	if(strstr(desc, " assembler ")) {printf("Develop");return;}
-	if(strstr(desc, " bash ")) {printf("Develop");return;}
-	if(strstr(desc, " paint ")) {printf("Graphic");return;}
-	if(strstr(desc, " painting ")) {printf("Graphic");return;}
+	if(strstr(desc, " develop ")) {printf("Utility;development");return;}
+	if(strstr(desc, " development ")) {printf("Utility;development");return;}
+	if(strstr(desc, " programming ")) {printf("Utility;development");return;}
+	if(strstr(desc, " language ")) {printf("Utility;development");return;}
+	if(strstr(desc, " lua ")) {printf("Utility;development");return;}
+	if(strstr(desc, " vala ")) {printf("Utility;development");return;}
+	if(strstr(desc, "lisp ")) {printf("Utility;development");return;}
+	if(strstr(desc, " mono ")) {printf("Utility;development");return;}
+	if(strstr(desc, " assembler ")) {printf("Utility;development");return;}
+	if(strstr(desc, " bash ")) {printf("Utility;development");return;}
+	if(strstr(desc, " paint ")) {printf("Graphic;paint");return;}
+	if(strstr(desc, " painting ")) {printf("Graphic;paint");return;}
 	if(strstr(desc, " image edit")) {printf("Graphic");return;}
-	if(strstr(desc, " bitmap edit")) {printf("Graphic");return;}
-	if(strstr(desc, " vector edit")) {printf("Graphic");return;}
+	if(strstr(desc, " bitmap edit")) {printf("Graphic;paint");return;}
+	if(strstr(desc, " vector edit")) {printf("Graphic;draw");return;}
 	if(strstr(desc, " photo")) {printf("Graphic");return;}
 	if(strstr(desc, " graphic")) {printf("Graphic");return;}
-	if(strstr(desc, " font edit")) {printf("Graphic");return;}
-	if(strstr(desc, " image view")) {printf("Graphic");return;}
+	if(strstr(desc, " font edit")) {printf("Graphic;font");return;}
+	if(strstr(desc, " image view")) {printf("Graphic;viewer");return;}
 	if(strstr(desc, " thumbnail")) {printf("Graphic");return;}
+	if(strstr(desc, " scanner ")) {printf("Graphic;scanner");return;}
 	if(strstr(desc, " game ")) {printf("Fun");return;}
 	if(strstr(desc, " games ")) {printf("Fun");return;}
-	if(strstr(desc, " boardgame ")) {printf("Fun");return;}
+	if(strstr(desc, " boardgame ")) {printf("Fun;boardgame");return;}
 	if(strstr(desc, " fun ")) {printf("Fun");return;}
-	if(strstr(desc, " shooter ")) {printf("Fun");return;}
+	if(strstr(desc, " shooter ")) {printf("Fun;shooter");return;}
 	if(strstr(desc, " deathmatch ")) {printf("Fun");return;}
-	if(strstr(desc, " arcade ")) {printf("Fun");return;}
-	if(strstr(desc, " puzzle ")) {printf("Fun");return;}
+	if(strstr(desc, " arcade ")) {printf("Fun;arcade");return;}
+	if(strstr(desc, " puzzle ")) {printf("Fun;puzzle");return;}
 	if(strstr(desc, " multimedia ")) {printf("Multimedia");return;}
-	if(strstr(desc, " scanner ")) {printf("Multimedia");return;}
-	if(strstr(desc, " audio play")) {printf("Multimedia");return;}
-	if(strstr(desc, " sound play")) {printf("Multimedia");return;}
-	if(strstr(desc, " audio edit")) {printf("Multimedia");return;}
-	if(strstr(desc, " sound edit")) {printf("Multimedia");return;}
-	if(strstr(desc, " video play")) {printf("Multimedia");return;}
-	if(strstr(desc, " video edit")) {printf("Multimedia");return;}
-	if(strstr(desc, " video view")) {printf("Multimedia");return;}
+	if(strstr(desc, " audio play")) {printf("Multimedia;sound");return;}
+	if(strstr(desc, " sound play")) {printf("Multimedia;sound");return;}
+	if(strstr(desc, " audio edit")) {printf("Multimedia;sound");return;}
+	if(strstr(desc, " sound edit")) {printf("Multimedia;sound");return;}
+	if(strstr(desc, " video play")) {printf("Multimedia;video");return;}
+	if(strstr(desc, " video edit")) {printf("Multimedia;video");return;}
+	if(strstr(desc, " video view")) {printf("Multimedia;video");return;}
 	if(strstr(desc, " media player ")) {printf("Multimedia");return;}
-	if(strstr(desc, " song ")) {printf("Multimedia");return;}
-	if(strstr(desc, " ripper ")) {printf("Multimedia");return;}
-	if(strstr(desc, " recorder ")) {printf("Multimedia");return;}
-	if(strstr(desc, " burner ")) {printf("Multimedia");return;}
-	if(strstr(desc, " mixer ")) {printf("Multimedia");return;}
+	if(strstr(desc, " song ")) {printf("Multimedia;sound");return;}
+	if(strstr(desc, " ripper ")) {printf("Multimedia;optical");return;}
+	if(strstr(desc, " recorder ")) {printf("Multimedia;sound");return;}
+	if(strstr(desc, " burner ")) {printf("Multimedia;optical");return;}
+	if(strstr(desc, " mixer ")) {printf("Multimedia;sound");return;}
 	if(strstr(desc, " internet ")) {printf("Internet");return;}
-	if(strstr(desc, " download")) {printf("Internet");return;}
-	if(strstr(desc, " chat ")) {printf("Internet");return;}
-	if(strstr(desc, " irc ")) {printf("Internet");return;}
-	if(strstr(desc, "icq ")) {printf("Internet");return;}
-	if(strstr(desc, " yahoo ")) {printf("Internet");return;}
-	if(strstr(desc, "msn ")) {printf("Internet");return;}
-	if(strstr(desc, " instant messag")) {printf("Internet");return;}
-	if(strstr(desc, " im client ")) {printf("Internet");return;}
-	if(strstr(desc, " ftp ")) {printf("Internet");return;}
-	if(strstr(desc, " sftp ")) {printf("Internet");return;}
-	if(strstr(desc, " ssh ")) {printf("Internet");return;}
-	if(strstr(desc, " secure shell ")) {printf("Internet");return;}
-	if(strstr(desc, " torrent ")) {printf("Internet");return;}
-	if(strstr(desc, " podcast ")) {printf("Internet");return;}
-	if(strstr(desc, " mail ")) {printf("Internet");return;}
-	if(strstr(desc, " email ")) {printf("Internet");return;}
-	if(strstr(desc, " news ")) {printf("Internet");return;}
+	if(strstr(desc, " download")) {printf("Internet;transfer");return;}
+	if(strstr(desc, " chat ")) {printf("Internet;chat");return;}
+	if(strstr(desc, " irc ")) {printf("Internet;chat");return;}
+	if(strstr(desc, "icq ")) {printf("Internet;chat");return;}
+	if(strstr(desc, " yahoo ")) {printf("Internet;chat");return;}
+	if(strstr(desc, "msn ")) {printf("Internet;chat");return;}
+	if(strstr(desc, " instant messag")) {printf("Internet;chat");return;}
+	if(strstr(desc, " im client ")) {printf("Internet;chat");return;}
+	if(strstr(desc, " ftp ")) {printf("Internet;transfer");return;}
+	if(strstr(desc, " sftp ")) {printf("Internet;transfer");return;}
+	if(strstr(desc, " ssh ")) {printf("Internet;remotelogin");return;}
+	if(strstr(desc, " secure shell ")) {printf("Internet;remotelogin");return;}
+	if(strstr(desc, " torrent ")) {printf("Internet;transfer");return;}
+	if(strstr(desc, " podcast ")) {printf("Internet;transfer");return;}
+	if(strstr(desc, " mail ")) {printf("Internet;mailnews");return;}
+	if(strstr(desc, " email ")) {printf("Internet;mailnews");return;}
+	if(strstr(desc, " news ")) {printf("Internet;mailnews");return;}
 	if(strstr(desc, " browser ")) {printf("Internet");return;}
 	if(strstr(desc, " web ")) {printf("Internet");return;}
-	if(strstr(desc, " telnet ")) {printf("Internet");return;}
+	if(strstr(desc, " telnet ")) {printf("Internet;remotelogin");return;}
 	if(strstr(desc, " network ")) {printf("Network");return;}
-	if(strstr(desc, " modem ")) {printf("Network");return;}
-	if(strstr(desc, " dialup ")) {printf("Network");return;}
-	if(strstr(desc, " firewall ")) {printf("Network");return;}
+	if(strstr(desc, " modem ")) {printf("Network;phone");return;}
+	if(strstr(desc, " dialup ")) {printf("Network;phone");return;}
+	if(strstr(desc, " firewall ")) {printf("Network;firewall");return;}
 	if(strstr(desc, " file sharing ")) {printf("Network");return;}
 	if(strstr(desc, " samba ")) {printf("Network");return;}
 	if(strstr(desc, " server ")) {printf("Network");return;}
 	if(strstr(desc, " port scanner ")) {printf("Network");return;}
 	if(strstr(desc, " wireless ")) {printf("Network");return;}
@@ -249,66 +395,67 @@
 	if(strstr(desc, " irda ")) {printf("Network");return;}
 	if(strstr(desc, " lan ")) {printf("Network");return;}
 	if(strstr(desc, " wan ")) {printf("Network");return;}
 	if(strstr(desc, " vpn ")) {printf("Network");return;}
 	if(strstr(desc, " personal ")) {printf("Personal");return;}
-	if(strstr(desc, " wiki ")) {printf("Personal");return;}
-	if(strstr(desc, " password ")) {printf("Personal");return;}
-	if(strstr(desc, " wikki ")) {printf("Personal");return;}
-	if(strstr(desc, " wik")) {printf("Personal");return;}
-	if(strstr(desc, " notes ")) {printf("Personal");return;}
-	if(strstr(desc, " blog ")) {printf("Personal");return;}
-	if(strstr(desc, " address")) {printf("Personal");return;}
-	if(strstr(desc, " database ")) {printf("Personal");return;}
-	if(strstr(desc, " calculate ")) {printf("Calculate");return;}
-	if(strstr(desc, " calculator ")) {printf("Calculate");return;}
-	if(strstr(desc, " spreadsheet ")) {printf("Calculate");return;}
-	if(strstr(desc, " financ")) {printf("Calculate");return;}
-	if(strstr(desc, " measure")) {printf("Calculate");return;}
-	if(strstr(desc, " accounting ")) {printf("Calculate");return;}
-	if(strstr(desc, " bookkeeping ")) {printf("Calculate");return;}
+	if(strstr(desc, " wiki ")) {printf("Personal;organizer");return;}
+	if(strstr(desc, " password ")) {printf("Personal;lock");return;}
+	if(strstr(desc, " wikki ")) {printf("Personal;organizer");return;}
+	if(strstr(desc, " wik")) {printf("Personal;organizer");return;}
+	if(strstr(desc, " notes ")) {printf("Personal;organizer");return;}
+	if(strstr(desc, " blog ")) {printf("Personal;organizer");return;}
+	if(strstr(desc, " address")) {printf("Personal;date");return;}
+	if(strstr(desc, " database ")) {printf("Personal;database");return;}
+	if(strstr(desc, " calculate ")) {printf("Business");return;}
+	if(strstr(desc, " calculator ")) {printf("Business;calc");return;}
+	if(strstr(desc, " spreadsheet ")) {printf("Business;spreadsheet");return;}
+	if(strstr(desc, " financ")) {printf("Business;finance");return;}
+	if(strstr(desc, " measure")) {printf("Business");return;}
+	if(strstr(desc, " accounting ")) {printf("Business;finance");return;}
+	if(strstr(desc, " bookkeeping ")) {printf("Business;finance");return;}
 	if(strstr(desc, " document ")) {printf("Document");return;}
-	if(strstr(desc, " wordprocessor ")) {printf("Document");return;}
-	if(strstr(desc, " text editor ")) {printf("Document");return;}
-	if(strstr(desc, " hex editor ")) {printf("Document");return;}
-	if(strstr(desc, " html editor ")) {printf("Document");return;}
-	if(strstr(desc, "pdf editor ")) {printf("Document");return;}
-	if(strstr(desc, "pdf viewer ")) {printf("Document");return;}
-	if(strstr(desc, " dictionary ")) {printf("Document");return;}
-	if(strstr(desc, " wysiwyg ")) {printf("Document");return;}
-	if(strstr(desc, " open office")) {printf("Document");return;}
-	if(strstr(desc, " openoffice ")) {printf("Document");return;}
-	if(strstr(desc, " postscript viewer ")) {printf("Document");return;}
-	if(strstr(desc, " presentation ")) {printf("Document");return;}
-	if(strstr(desc, " desktop publishing ")) {printf("Document");return;}
-	if(strstr(desc, " word processor")) {printf("Document");return;}
+	if(strstr(desc, " wordprocessor ")) {printf("Document;doclayout");return;}
+	if(strstr(desc, " text editor ")) {printf("Document;edit");return;}
+	if(strstr(desc, " hex editor ")) {printf("Document;edit");return;}
+	if(strstr(desc, " html editor ")) {printf("Document;edit");return;}
+	if(strstr(desc, "pdf editor ")) {printf("Document;edit");return;}
+	if(strstr(desc, "pdf viewer ")) {printf("Document;viewer");return;}
+	if(strstr(desc, " dictionary ")) {printf("Document;catalog");return;}
+	if(strstr(desc, " wysiwyg ")) {printf("Document;doclayout");return;}
+	if(strstr(desc, " libreoffice")) {printf("Document;doclayout");return;}
+	if(strstr(desc, " open office")) {printf("Document;doclayout");return;}
+	if(strstr(desc, " openoffice ")) {printf("Document;doclayout");return;}
+	if(strstr(desc, " postscript viewer ")) {printf("Document;viewer");return;}
+	if(strstr(desc, " presentation ")) {printf("Document;doclayout");return;}
+	if(strstr(desc, " desktop publishing ")) {printf("Document;doclayout");return;}
+	if(strstr(desc, " word processor")) {printf("Document;doclayout");return;}
 	if(strstr(desc, " filesystem ")) {printf("Filesystem");return;}
-	if(strstr(desc, " disk ")) {printf("Filesystem");return;}
+	if(strstr(desc, " disk ")) {printf("Filesystem;storage");return;}
 	if(strstr(desc, " batch ")) {printf("Filesystem");return;}
 	if(strstr(desc, " catalog")) {printf("Filesystem");return;}
-	if(strstr(desc, " file manager ")) {printf("Filesystem");return;}
+	if(strstr(desc, " file manager ")) {printf("Filesystem;filemanager");return;}
 	if(strstr(desc, " renamer ")) {printf("Filesystem");return;}
-	if(strstr(desc, " file ")) {printf("Filesystem");return;}
-	if(strstr(desc, " drive")) {printf("Filesystem");return;}
-	if(strstr(desc, " disk")) {printf("Filesystem");return;}
-	if(strstr(desc, " disc ")) {printf("Filesystem");return;}
-	if(strstr(desc, " window ")) {printf("Desktop");return;}
+	if(strstr(desc, " file ")) {printf("Filesystem;filemanager");return;}
+	if(strstr(desc, " drive")) {printf("Filesystem;storage");return;}
+	if(strstr(desc, " disk")) {printf("Filesystem;storage");return;}
+	if(strstr(desc, " disc ")) {printf("Filesystem;storage");return;}
+	if(strstr(desc, " window ")) {printf("Desktop;appearance");return;}
 	if(strstr(desc, " screen ")) {printf("Desktop");return;}
 	if(strstr(desc, " icon")) {printf("Desktop");return;}
 	if(strstr(desc, " desktop ")) {printf("Desktop");return;}
 	if(strstr(desc, " utility ")) {printf("Utility");return;}
-	if(strstr(desc, " archive")) {printf("Utility");return;}
+	if(strstr(desc, " archive")) {printf("Utility;package");return;}
 	if(strstr(desc, " remote ")) {printf("Utility");return;}
-	if(strstr(desc, " backup ")) {printf("Utility");return;}
+	if(strstr(desc, " backup ")) {printf("Utility;package");return;}
 	if(strstr(desc, " partition ")) {printf("Utility");return;}
-	if(strstr(desc, " terminal ")) {printf("Utility");return;}
+	if(strstr(desc, " terminal ")) {printf("Utility;shell");return;}
 	if(strstr(desc, " storage ")) {printf("Utility");return;}
-	if(strstr(desc, " console ")) {printf("Utility");return;}
+	if(strstr(desc, " console ")) {printf("Utility;shell");return;}
 	if(strstr(desc, " system ")) {printf("System");return;}
-	if(strstr(desc, " print ")) {printf("System");return;}
-	if(strstr(desc, " printing ")) {printf("System");return;}
-	if(strstr(desc, " process ")) {printf("System");return;}
+	if(strstr(desc, " print ")) {printf("System;print");return;}
+	if(strstr(desc, " printing ")) {printf("System;print");return;}
+	if(strstr(desc, " process ")) {printf("System;process");return;}
 	if(strstr(desc, " hardware ")) {printf("System");return;}
 	if(strstr(desc, " monitor")) {printf("System");return;}
 
 	printf("BuildingBlock"); // default
 }

Deleted woof-code/support/find_cat.gs