This specification adds three new fields to desktop
      entries (http://www.freedesktop.org/Standards/desktop-entry-spec): Categories,
      OnlyShowIn and NotShowIn.
    
      The Categories field is a list of strings used to
      classify menu items. For example, applications in the
      AudioVideo category might end up in the
      "Sound & Video" submenu. Appendix A, Registered Categories
      enumerates the standard categories. Categories not in this document
      must be prefixed by the string "X-" indicating that they are extensions.
      Categories are case-sensitive.
    
Desktop entries should list all categories that clearly apply. They should not list categories that only vaguely or possibly apply, because the user will end up seeing the same desktop entry in a half-dozen places. But it's typical that several categories will apply to a given desktop entry.
      The OnlyShowIn field is a list of strings identifying
      the environments that should display a given menu item.  If an
      OnlyShowIn field is present, a given environment should
      only display the menu item if the string identifying that environment is
      present.  The strings are case-sensitive. Appendix B, Registered OnlyShowIn Environments enumerates the strings to use for
      some common environments.
    
      The NotShowIn field is a list of strings identifying
      the environments that should not display a given menu item.  If an
      NotShowIn field is present, a given environment should
      only display the menu item if the string identifying that environment is
      not present.  The strings are case-sensitive. Appendix B, Registered OnlyShowIn Environments enumerates the strings to use for
      some common environments.
    
Categories and OnlyShowIn #
        A desktop entry for a Qt-based image viewer might contain 
        this Categories line:
        
            Categories=Qt;Graphics;RasterGraphics;Viewer;
          
        A desktop entry for Octave, a command-line mathematics program (which
        would also have the field Terminal=true), might have:
        
            Categories=ConsoleOnly;Math;
          
A desktop entry for a GNOME-specific calculator program that should only appear in GNOME might have:
            Categories=GNOME;Utility;
            OnlyShowIn=GNOME;
          
        Note that the OnlyShowIn field is a
        list and thus ends in a semicolon.