--- /dev/null
+diff -urN aa/desktop-file-utils-0.8/src/menu-entries.c desktop-file-utils-0.8/src/menu-entries.c
+--- aa/desktop-file-utils-0.8/src/menu-entries.c 2004-09-03 00:05:27.000000000 +0200
++++ desktop-file-utils-0.8/src/menu-entries.c 2004-09-07 17:56:17.089324768 +0200
+@@ -1966,6 +1966,50 @@
+ return NULL;
+ }
+ }
++
++ if (cache->only_show_in_name)
++ {
++ char *notshowin;
++ gboolean show;
++
++ show = TRUE;
++
++ notshowin = find_value (str, "NotShowIn");
++
++ if (notshowin != NULL)
++ {
++ char **split;
++ int i;
++
++ show = TRUE;
++
++ split = string_list_from_desktop_value (notshowin);
++ i = 0;
++ while (split[i] != NULL)
++ {
++ if (strcmp (split[i], cache->only_show_in_name) == 0)
++ {
++ show = FALSE;
++ break;
++ }
++
++ ++i;
++ }
++
++ if (!show)
++ menu_verbose ("Not showing \"%s\" due to NotShowIn=%s\n",
++ filename, notshowin);
++
++ g_strfreev (split);
++ g_free (notshowin);
++ }
++
++ if (!show)
++ {
++ g_free (str);
++ return NULL;
++ }
++ }
+
+ e = entry_new (ENTRY_DESKTOP, basename, filename, FALSE);
+