From ea97eb605d4b474594b56588eb39db9936578d05 Mon Sep 17 00:00:00 2001 From: Waldo Bastian Date: Tue, 19 Sep 2006 20:02:29 +0000 Subject: Make stronger recommendations wrt the minimum required set of supported categories. --- menu/menu-spec.xml | 446 ++++++++++++++++++++++++++++------------------------- 1 file changed, 233 insertions(+), 213 deletions(-) diff --git a/menu/menu-spec.xml b/menu/menu-spec.xml index 247499e..ef75257 100644 --- a/menu/menu-spec.xml +++ b/menu/menu-spec.xml @@ -2,13 +2,13 @@ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ - ]> + ]>
Desktop Menu Specification Version &version; - 13 July 2006 + 19 September 2006 Waldo @@ -217,18 +217,18 @@ Extensions to the desktop entry format This specification adds three new fields to desktop -entries: Categories, + url="http://www.freedesktop.org/Standards/desktop-entry-spec">desktop + entries: 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. 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. + AudioVideo category might end up in the + "Sound & Video" submenu. + 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 @@ -332,7 +332,6 @@ entries: Categories, System Identifier for &version; - http://www.freedesktop.org/standards/menu-spec/menu-&dtd-version;.dtd @@ -380,7 +379,7 @@ entries: Categories, Desktop entries in the pool of available entries are identified by their desktop-file id (see ). + linkend="term-desktop-file-id"/>). The desktop-file id of a desktop entry is equal to its filename, with any path components removed. So given a <AppDir> @@ -413,7 +412,7 @@ entries: Categories, directory) should be ignored, but the last duplicate in the file should be used when establishing the order in which to scan the directories. This is important when merging - (see ). The order of + (see ). The order of <AppDir> elements with respect to <Include> and <Exclude> elements is not relevant, also to facilitate merging. @@ -451,7 +450,7 @@ entries: Categories, Directory entries in the pool of available entries are identified by their relative path (see ). + linkend="term-relative-path"/>). If two directory entries have duplicate relative paths, the one from @@ -491,7 +490,7 @@ entries: Categories, elements can thus be referenced by a menu path, for example "Applications/Graphics." The <Name> field must not contain the slash character ("/"); implementations should discard - any name containing a slash. See also . + any name containing a slash. See also . @@ -580,8 +579,8 @@ entries: Categories, included in the menu. <Include> and <Exclude> elements for a given <Menu> are processed in order, with queries earlier in the file handled first. This has - implications for merging, see . - See for full details on + implications for merging, see . + See for full details on how to process <Include> and <Exclude> elements. @@ -769,7 +768,7 @@ entries: Categories, content of this element is a directory name. Each directory listed in a <LegacyDir> element will be an old-style legacy hierarchy of desktop entries, see for how to load such a + linkend="legacy-hierarchies"/> for how to load such a hierarchy. Implementations must not load legacy hierarchies that are not explicitly specified in the menu file (because for example the menu file may not be the main menu). If the @@ -818,7 +817,7 @@ entries: Categories, elements indicating how to rename a descendant of the current <Menu>. If the destination path already exists, the moved menu is merged with the destination menu (see for details). + linkend="merge-algorithm"/> for details). <Move> is used primarily to fix up legacy directories. @@ -829,7 +828,7 @@ entries: Categories, <Move> is also useful for implementing menu - editing, see . + editing, see . @@ -841,7 +840,7 @@ entries: Categories, must be followed by a <New> element. The content of both <Old> and <New> should be a menu path (slash-separated concatenation of <Name> fields, see - ). + ). Paths are interpreted relative to the menu containing the <Move> element. @@ -895,7 +894,7 @@ entries: Categories, any default-layout specified by a parent menu. The default-layout defines the suggested layout if a <Menu> element does either not have <Layout> element or if it has an empty <Layout> element. - For explanations of the various attributes see the <Menuname> element. + For explanations of the various attributes see the <Menuname> element. If no default-layout has been specified then the layout as specified by the following elements should be assumed: <DefaultLayout show_empty="false" inline="false" inline_limit="4" inline_header="true" inline_alias="false"><Merge type="menus"/><Merge type="files"/></DefaultLayout> @@ -910,7 +909,7 @@ entries: Categories, menu. Its contents references an immediate sub-menu of the current menu as defined with the <Menu> element, as such it should never contain a slash. If no such sub-menu exists the element should be ignored. - This element may have various attributes, the default values are taken from the DefaultLayout key. + This element may have various attributes, the default values are taken from the DefaultLayout key. The show_empty attribute defines whether a menu that contains no desktop entries and no sub-menus should be shown at all. The show_empty attribute can be "true" or "false". @@ -1319,593 +1318,579 @@ entries: Categories, Registered Categories - Remember, these are case-sensitive. - When using a category described in the list below it is strongly - recommended to also include the category listed under Related - Categories. If a category has multiple related categories the most - suitable related category should be included. + This section contains a number of well known categories and + suggestions on how to use them. The list of Main Categories consist + of those categories that every conforming desktop environment MUST + support. By including one of these categories in an application's + desktop entry file the application will be ensured that it will + show up in a section of the application menu dedicated to this + category. The list of Additional Categories provides categories + that can be used to provide more fine grained information about + the application. Additional Categories should always be used in + combination with one of the Main Categories. + + + The table below lists all Main Categories. + Note that category names are case-sensitive. - + - Category + Main Category Description - Related Categories + Notes - Legacy - Keyword that must be added to menu - entries merged from legacy locations. May not actually exist in a - desktop entry (should be stripped out if found there). If the same - directory is given as both a <LegacyDir> and an - <AppDir>, its desktop entries should be labeled "Legacy" - only if the <LegacyDir> appears later in the file than the - <AppDir> - + AudioVideo + A multimedia (audio/video) application - Core - Important application, core to the desktop such as a file manager or a help browser - - + Audio + An audio application + Desktop entry must include AudioVideo as well + + Video + A video application + Desktop entry must include AudioVideo as well Development An application for development - - + Education + Educational software + + Game + A game + + Graphics + Graphical application + + Network + Network application such as a web browser + + Office + An office type application + + Settings + Settings applications + Entries may appear in a separate menu or as part of a + "Control Center" + + System + System application, "System Tools" such as say a log viewer or network monitor + + Utility + Small utility application, "Accessories" + + + + + + + The table below describes Additional Categories. The Related + Categories column lists one or more categories that are suggested + to be used in conjunction with the Additional Category. Note that at + least one Main Category must be included in the desktop entry's list + of categories. If multiple Main Categories are included in a single + desktop entry file, the entry may appear more than once in the menu. + If the Related Categories column is blank, the + Additional Category can be used with any Main Category. + + + + + Additional Category + Description + Related Categories + + + + Building A tool to build applications - Development + Development Debugger A tool to debug applications - Development + Development IDE IDE application - Development + Development GUIDesigner A GUI designer application - Development + Development Profiling A profiling tool - Development + Development RevisionControl Applications like cvs or subversion - Development + Development Translation A translation tool - Development - - - Office - An office type application + Development Calendar Calendar application - Office + Office ContactManagement E.g. an address book - Office + Office Database Application to manage a database - Office or Development or AudioVideo + Office or Development or AudioVideo - + Dictionary A dictionary - Office + Office Chart Chart application - Office + Office Email Email application - Office;Network + Office;Network Finance Application to manage your finance - Office + Office FlowChart A flowchart application - Office + Office PDA Tool to manage your PDA - Office + Office ProjectManagement Project management application - Office;Development + Office;Development Presentation Presentation software - Office + Office Spreadsheet A spreadsheet - Office + Office WordProcessor A word processor - Office - - - Graphics - Graphical application + Office 2DGraphics 2D based graphical application - Graphics + Graphics VectorGraphics Vector based graphical application - 2DGraphics + Graphics;2DGraphics RasterGraphics Raster based graphical application - 2DGraphics + Graphics;2DGraphics 3DGraphics 3D based graphical application - Graphics + Graphics Scanning Tool to scan a file/text - Graphics + Graphics OCR Optical character recognition application - Scanning + Graphics;Scanning Photography Camera tools, etc. - Graphics or Office + Graphics or Office Viewer Tool to view e.g. a graphic or pdf file - Graphics or Office - - - Settings - Settings applications + Graphics or Office DesktopSettings Configuration tool for the GUI - Settings + Settings HardwareSettings A tool to manage hardware components, like sound cards, video cards or printers - Settings + Settings PackageManager A package manager application - Settings - - - Network - Network application such as a web browser - (Settings) + Settings Dialup A dial-up program - Network + Network InstantMessaging An instant messaging client - Network + Network IRCClient An IRC client - Network + Network FileTransfer Tools like FTP or P2P programs - Network + Network HamRadio HAM radio software - Network or Audio + Network or Audio News A news reader or a news ticker + Network P2P A P2P program - Network + Network RemoteAccess A tool to remotely manage your PC - Network + Network Telephony Telephony via PC - Network + Network WebBrowser A web browser - Network + Network WebDevelopment A tool for web developers - Network or Development - - - AudioVideo - A multimedia (audio/video) application - - - Audio - An audio application - AudioVideo + Network or Development Midi An app related to MIDI - Audio + AudioVideo;Audio Mixer Just a mixer - Audio + AudioVideo;Audio Sequencer A sequencer - Audio + AudioVideo;Audio Tuner A tuner - Audio - - - Video - A video application - AudioVideo + AudioVideo;Audio TV A TV application - Video + AudioVideo;Video AudioVideoEditing Application to edit audio/video files - Audio or Video or AudioVideo + Audio or Video or AudioVideo Player Application to play audio/video files - Audio or Video or AudioVideo + Audio or Video or AudioVideo Recorder Application to record audio/video files - Audio or Video or AudioVideo + Audio or Video or AudioVideo DiscBurning Application to burn a disc - AudioVideo - - - Game - A game + AudioVideo ActionGame An action game - Game + Game AdventureGame Adventure style game - Game + Game ArcadeGame Arcade style game - Game + Game BoardGame A board game - Game + Game BlocksGame Falling blocks game - Game + Game CardGame A card game - Game + Game KidsGame A game for kids - Game + Game LogicGame Logic games like puzzles, etc - Game + Game RolePlaying A role playing game - Game + Game Simulation A simulation game - Game + Game SportsGame A sports game - Game + Game StrategyGame A strategy game - Game - - - Education - Educational software + Game Art Software to teach arts - Education + Education Construction - Education + Education Music Musical software - AudioVideo;Education + AudioVideo;Education Languages Software to learn foreign languages - Education + Education Science Scientific software - Education + Education Astronomy Astronomy software - Science + Education;Science Biology Biology software - Science + Education;Science Chemistry Chemistry software - Science + Education;Science Geology Geology software - Science + Education;Science Math Math software - Science + Education;Science MedicalSoftware Medical software - Science + Education;Science Physics Physics software - Science - - - Teaching - An education program for teachers - Education + Education;Science Amusement A simple amusement - + - - Applet - An applet that will run inside a panel or another such application, likely desktop specific - Archiving A tool to archive/backup data - + Utility Electronics Electronics software, e.g. a circuit designer - + Emulator Emulator of another platform, such as a DOS emulator - + System or Game Engineering Engineering software, e.g. CAD programs - + FileManager A file manager - - - - Shell - A shell (an actual specific shell such as - bash or tcsh, not a TerminalEmulator) - - - Screensaver - A screen saver (launching this desktop entry should activate the screen saver) - + System TerminalEmulator A terminal emulator application - - - - TrayIcon - An application that is primarily an icon for the "system tray" or "notification area" (apps that open a normal window and just happen to have a tray icon as well should not list this category) - - - System - System application, "System Tools" such as say a log viewer or network monitor - (Settings) Filesystem A file system tool - System + System Monitor Monitor application/applet that monitors some resource or activity - System + System Security A security tool - Settings or System - - - Utility - Small utility application, "Accessories" - + Settings or System Accessibility Accessibility - Settings or Utility + Settings or Utility Calculator A calculator - Utility + Utility Clock A clock application/applet - Utility + Utility TextEditor A text editor - Utility + Utility + + + Core + Important application, core to the desktop such as a file manager or a help browser + KDE Application based on KDE libraries - QT + QT GNOME Application based on GNOME libraries - GTK + GTK GTK Application based on GTK+ libraries - + Qt Application based on Qt libraries - + Motif Application based on Motif libraries - + Java Application based on Java GUI libraries, such as AWT or Swing - + ConsoleOnly Application that only works inside a terminal (text-based or command line application) - + @@ -1913,6 +1898,41 @@ entries: Categories, + + The table below describes Reserved Categories. + Reserved Categories have a specific desktop specific meaning + that has not been standardized (yet). Desktop entry files that use + a reserved category MUST also include an appropriate OnlyShowIn= entry + to restrict themselves to those environments that properly support the + reserved category as used. + + + + + Reserved Category + Description + + + + + Screensaver + A screen saver (launching this desktop entry should activate the screen saver) + + TrayIcon + An application that is primarily an icon for the "system tray" or "notification area" (apps that open a normal window and just happen to have a tray icon as well should not list this category) + + Applet + An applet that will run inside a panel or another such application, likely desktop specific + + Shell + A shell (an actual specific shell such as + bash or tcsh, not a TerminalEmulator) + + + + + + Registered OnlyShowIn Environments -- cgit v1.2.3-70-g09d2