openSUSE:Packaging desktop menu categories

Jump to: navigation, search
This section provides a list of categories used on SUSE Linux. They are needed to sort desktop menu entries into submenus. The list is based on the desktop menu specification, see http://freedesktop.org/Standards/menu-spec.

Documentation relates to the Freedesktop Desktop Menu Specification, version 1.1-draft, dated 31 March 2011, with changes made up to Apr 4 April 2014.

For information about packaging desktop file in openSUSE, look at the Packaging Guidelines, section Desktop files.

Some of the categories were renamed in the past. The old names are additionally mentioned as 'obsoletes' in the lists below. They are automatically renamed by the %suse_update_desktop_file macro.

There is no strict hierarchy in the categories. You can list as many categories and subcategories as you want, using ; as a seperator. E.g. if your package is a printing utility, a text editor utility, and helps developing documentation, you could say Categories=Development;Utility;Documentation;Printing;TextEditor

Despite the above, /usr/lib/rpm/brp-suse.d/brp-30-desktop strictly enforces to always have *at least* one category followed by a subcategory. A correct minimal line looks like this:

Categories=Graphics;2DGraphics;

Note that there is no direct mapping from RPM Groups to XDG Categories.


Standard categories

Using recommended categories, you will get a desktop file, that is well sorted in all types of menus and in all GNU/Linux distributions.


Audio

Use these together with the Audio category as in Categories=Audio;Player;. Possible additional main category: AudioVideo. Obsoletes Multimedia.

  • AudioVideoEditing
  • HamRadio
  • Midi
  • Mixer
  • Player
  • Recorder
  • Sequencer
  • Tuner


AudioVideo

Use these together with the AudioVideo category as in Categories=AudioVideo;Player;. Possible additional main categories: Audio and/or Video. Obsoletes Multimedia.

  • AudioVideoEditing
  • Database
  • DiscBurning
  • Midi
  • Mixer
  • Music
  • Player
  • Recorder
  • Sequencer
  • TV
  • Tuner


Development

Use these together with the Development category as in Categories=Development;IDE;.

  • Building
  • Database
  • Debugger
  • Documentation — upstream did not assign any main category, SUSE allows it here
  • GUIDesigner
  • IDE
  • Profiling
  • ProjectManagement
  • RevisionControl
  • Translation
  • WebDevelopment
  • X-SuSE-Design


Education

Use these together with the Education category, for example, Categories=Education;Astronomy;.

  • Art
  • ArtificialIntelligence
  • Astronomy
  • Biology
  • Chemistry
  • ComputerScience
  • Construction
  • DataVisualization
  • Economy
  • Electricity
  • Engineering — upstream did not assign any main category, SUSE allows it here
  • Geography
  • Geology
  • Geoscience
  • History
  • Humanities
  • ImageProcessing
  • Languages — obsoletes Language and X-KDE-Edu-Language
  • Literature
  • Maps
  • Math
  • MedicalSoftware
  • Music
  • NumericalAnalysis with possible larger category Math
  • ParallelComputing with possible larger category ComputerScience
  • Physics
  • Robotics
  • Science is now a main category
  • Spirituality
  • Sports
  • Teaching — do not use, not part of upstream spec yet, outside SUSE, only X-KDE-Edu-Teaching is valid


Game

Use these together with the Game category, as in Categories=Game;ArcadeGame;.

  • ActionGame
  • AdventureGame
  • Amusement — upstream did not assign any main category, SUSE allows it here
  • ArcadeGame
  • BlocksGame
  • BoardGame
  • CardGame
  • Emulator
  • KidsGame
  • LogicGame
  • PlatformGame — however SUSE allows it here, upstream allows only ArcadeGame
  • RolePlaying — obsoletes RolePlayingGame
  • Shooter
  • Simulation — obsoletes SimulationGame
  • SportsGame
  • StrategyGame


Graphics

Use these together with the Graphics category, for example, Categories=Graphics;Viewer;.

  • 2DGraphics with allowed additional keywords RasterGraphics and VectorGraphics
  • 3DGraphics
  • OCR with possible larger category Scanning
  • Photography
  • Publishing
  • RasterGraphics
  • Scanning
  • VectorGraphics
  • Viewer


Internet

Do not use this category. Use Network instead. It is not part of upstream specification. It was used together with the Network category, as in Categories=Network;Email;.

  • Dialup — obsoletes DialUp
  • Email
  • FileTransfer
  • HamRadio
  • InstantMessaging
  • IRCClient
  • Monitor
  • News — obsoletes Newsreader
  • P2P
  • RemoteAccess
  • Telephony — obsoletes Telephone
  • WebBrowser
  • WebDevelopment


Multimedia

Do not use this category. Use Audio, Video and/or AudioVideo instead. It is not part of upstream specification. It was used together with the AudioVideo category, for example, Categories=AudioVideo;AudioMixer;.

  • Midi
  • Mixer — obsoletes AudioMixer
  • Music
  • AudioVideoEditing
  • Player — obsoletes AudioVideoPlayer
  • Video;Player — fix the bug that video player goes into audio player section in kickoff menu
  • Recorder — obsoletes AudioVideoRecorder
  • DiscBurning — obsoletes Burning
  • CD
  • Jukebox
  • Sequencer
  • Tuner
  • TV


Network

Use these together with the Network category, for example, Categories=Network;Email;.

  • Chat
  • Dialup
  • Email
  • Feed
  • FileTransfer
  • HamRadio
  • IRCClient
  • InstantMessaging
  • Monitor
  • News
  • P2P
  • RemoteAccess
  • Telephony
  • VideoConference
  • WebBrowser
  • WebDevelopment


Office

Use these together with the Office category, for example, Categories=Office;Presentation;.

  • Calendar
  • Chart
  • ContactManagement — obsoletes AddressBook
  • Database
  • Dictionary with possible larger category TextTools
  • Email
  • Finance
  • FlowChart
  • PDA
  • Photography
  • Presentation
  • ProjectManagement
  • Publishing
  • Spreadsheet
  • Viewer
  • WordProcessor


Science

Use these together with the Science category, for example, Categories=Science;Geology;. In past, this main category was just a part of Education. Now it is main category.

  • Art
  • ArtificialIntelligence
  • Astronomy
  • Biology
  • Chemistry
  • ComputerScience
  • Construction
  • DataVisualization
  • Economy
  • Electricity
  • Engineering — upstream did not assign any main category, SUSE allows it here
  • Geography
  • Geology
  • Geoscience
  • History
  • Humanities
  • ImageProcessing
  • Languages — obsoletes Language and X-KDE-Edu-Language
  • Literature
  • Maps
  • Math
  • MedicalSoftware
  • NumericalAnalysis with possible larger category Math
  • ParallelComputing with possible larger category ComputerScience
  • Physics
  • Robotics
  • Spirituality
  • Sports


Settings

Use these together with the Settings category, for example, Categories=Settings;HardwareSettings;.

  • Accessibility
  • DesktopSettings
  • HardwareSettings
  • PackageManager
  • Printing
  • Security


System

Use these together with the System category, for example, Categories=System;Emulator;.

  • Applet — do not use, upstream proposes Utility;Monitor; or Utility;Clock; for applets
  • Archiving — do not use here, upstream proposes Utility;Archiving;
  • Backup — not supported any more, use Utility;Archiving;, see below
  • Database — do not use here, upstream proposes main categories Office, Development or AudioVideo
  • Documentation — upstream did not assign any main category, SUSE allows it here
  • Emulator
  • FileManager
  • FileTools
  • Filesystem
  • HardwareSettings — do not use here, upstream proposes Settings;HardwareSettings;
  • Monitor
  • Network is now a main category
  • PackageManager — do not use here, upstream proposes System;PackageManager;
  • RemoteAccess — do not use here, upstream proposes Network;RemoteAccess;
  • Screensaver — do not use, not part of upstream spec
  • Security
  • SystemSetup — do not use, not part of upstream spec
  • Telephony — do not use, use either Utility;TelephonyTools; or Network;Telephony;; obsoletes Telephone
  • TerminalEmulator
  • TrayIcon — do not use, not part of upstream spec
  • X-SuSE-Backup — SUSE specific, not upstreamable, use Utility;Archiving;


Utility

Use these together with the Utility category, as in Categories=Utility;TextEditor;.

  • Accessibility
  • Applet — however SUSE allows it here, upstream proposes Monitor or Clock for applets
  • Archiving with allowed additional keyword Compression
  • Calculator
  • Clock
  • Compression
  • DesktopUtility — not supported any more, see below
  • FileTools only possible in combination with FileManager. When used alone it is removed automatically in the build process!
  • PDA — do not use here, upstream proposes Office;PDA;
  • Printing — upstream is confusing, SUSE allows it here
  • Maps
  • Security — do not use here, upstream proposes Settings;Security; or System;Security;
  • Shell — do not use; console implementations should use System;TerminalEmulator;, console only applications technology category ConsoleOnly
  • Spirituality
  • SyncUtility — not supported any more, see below
  • Telephony — do not use in this way, use either Utility;TelephonyTools; or Network;Telephony;
  • TelephonyTools
  • TextEditor
  • TextTools — now allowed by brp-30-desktop
  • TimeUtility — not supported any more, see below
  • WebUtility — not supported any more, see below
  • X-SUSE-DesktopUtility — SUSE specific, not upstreamable
  • X-SUSE-TimeUtility — SUSE specific, not upstreamable
  • X-SUSE-WebUtility — SUSE specific, not upstreamable
  • X-SUSE-SyncUtility — SUSE specific, not upstreamable

Video

Use these together with the Video category as in Categories=Video;Player;. Possible additional main category: AudioVideo. Obsoletes Multimedia.

  • AudioVideoEditing
  • Player
  • Recorder
  • TV


Special categories

These categories define additional information that can help to build better menu.

  • Adult — Application handles adult or explicit material.
  • Core — Important application, core to the desktop such as a file manager or a help browser.


Technology categories

In difference to standard categories, technology categories define a technology used for the application (e. g. graphics toolkit). This additional information helps to the system with picking the best default application for particular environment.

  • GTK
  • GTK;GNOME
  • GTK;XFCE
  • Qt
  • Qt;KDE
  • Motif
  • Java
  • ConsoleOnly

SUSE categories enforcement

In addition to required desktop rules, upstream also proposes a rule, that each category from the main category has a corresponding additional category, and vice versa. SUSE enforces this rules, as it makes possible to create well structured menus, without items “hanging” in the first menu level.

Examples

Valid examples

Categories=Office;Spreadsheet;: Simple and straightforward. Office is a correct main category for Spreadsheet.

Categories=Office;Spreadsheet;Graphics;2DGraphics;: This is a set of categories for an application that is intended to appear twice in structured menus. Office is a correct main category for Spreadsheet. Graphics is a correct main category for 2DGraphics.

Categories=Audio;Video;Player;: This is a set of categories for an application that could appear twice in structured menus. Player is a correct additional category for both Audio and Video. Well, your could think about adding main category AudioVideo as well.

Invalid examples

Categories=Spreadsheet;: There is no relevant main category for Spreadsheet.

Categories=Graphics;Spreadsheet;: Graphics is an invalid main category for Spreadsheet.

Categories=Graphics;Utility;: Two main categories were picked without any additional categories specified.

Categories=Office;Graphics;Spreadsheet;: Office is a correct main category for Spreadsheet. But there is no additional category for Graphics main category.


SUSE specific categories

In addition to the XDG Categories listed above, there are also some SUSE-specific categories that are not currently part of the specification. Those categories must be prefixed by "X-SuSE-". However, the prefix is not mentioned in the lists because the situation is evolving and the categories are becoming part of the specification. The %suse_update_desktop_file macro adds the prefix where needed.