diff -urN aa/desktop-file-utils-0.7/src/menu-entries.c desktop-file-utils-0.7/src/menu-entries.c --- aa/desktop-file-utils-0.7/src/menu-entries.c 2004-07-28 22:11:07.960290344 +0200 +++ desktop-file-utils-0.7/src/menu-entries.c 2004-07-28 22:13:30.869564832 +0200 @@ -1980,6 +1980,47 @@ g_free (onlyshowin); } /* End checking for OnlyShowIn */ + + if (!show) + { + e = entry_new (ENTRY_DIRECTORY, basename, filename, show); + g_free (str); + return e; + } + + /* Check for NoShowIn */ + char *noshowin; + + show = TRUE; + + noshowin = find_value (str, "NoShowIn"); + + if (noshowin != NULL) + { + char **split; + int i; + + split = string_list_from_desktop_value (noshowin); + i = 0; + while (split[i] != NULL) + { + if (strcmp (split[i], "GNOME") == 0) + { + show = FALSE; + break; + } + + ++i; + } + + if (!show) + menu_verbose ("Not showing \"%s\" due to NoShowIn=%s\n", + filename, noshowin); + + g_strfreev (split); + g_free (noshowin); + } + /* End checking for NoShowIn */ if (!show) {