From 7e0003b1674c06f40943316e3fb8b839a4cd1de5 Mon Sep 17 00:00:00 2001 From: OmegaPhil Date: Sat, 8 Jul 2017 15:54:04 +0100 Subject: [PATCH 3/5] Allow user to set categories not part of the standard but commonly-used by system launchers --- menulibre/MenulibreApplication.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/menulibre/MenulibreApplication.py b/menulibre/MenulibreApplication.py index 846b3e7..2f95721 100644 --- a/menulibre/MenulibreApplication.py +++ b/menulibre/MenulibreApplication.py @@ -74,19 +74,24 @@ category_descriptions = { 'X-XFCE-SystemSettings': _('Xfce system configuration'), } +# Sourced from https://specifications.freedesktop.org/menu-spec/latest/apa.html +# and https://specifications.freedesktop.org/menu-spec/latest/apas02.html , +# in addition category group names have been added to the list where launchers +# typically use them (e.g. plain 'Utility' to add to Accessories), to allow the +# user to restore default categories that have been manually removed category_groups = { 'Utility': ( 'Accessibility', 'Archiving', 'Calculator', 'Clock', - 'Compression', 'FileTools', 'TextEditor', 'TextTools' + 'Compression', 'FileTools', 'TextEditor', 'TextTools', 'Utility' ), 'Development': ( - 'Building', 'Debugger', 'IDE', 'GUIDesigner', 'Profiling', - 'RevisionControl', 'Translation', 'WebDevelopment' + 'Building', 'Debugger', 'Development', 'IDE', 'GUIDesigner', + 'Profiling', 'RevisionControl', 'Translation', 'WebDevelopment' ), 'Education': ( 'Art', 'ArtificialIntelligence', 'Astronomy', 'Biology', 'Chemistry', 'ComputerScience', 'Construction', - 'DataVisualization', 'Economy', 'Electricity', 'Geography', + 'DataVisualization', 'Economy', 'Education', 'Electricity', 'Geography', 'Geology', 'Geoscience', 'History', 'Humanities', 'ImageProcessing', 'Languages', 'Literature', 'Maps', 'Math', 'MedicalSoftware', 'Music', 'NumericalAnalysis', @@ -95,28 +100,28 @@ category_groups = { ), 'Game': ( 'ActionGame', 'AdventureGame', 'ArcadeGame', 'BoardGame', - 'BlocksGame', 'CardGame', 'Emulator', 'KidsGame', 'LogicGame', + 'BlocksGame', 'CardGame', 'Emulator', 'Game', 'KidsGame', 'LogicGame', 'RolePlaying', 'Shooter', 'Simulation', 'SportsGame', 'StrategyGame' ), 'Graphics': ( - '2DGraphics', '3DGraphics', 'OCR', 'Photography', 'Publishing', - 'RasterGraphics', 'Scanning', 'VectorGraphics', 'Viewer' + '2DGraphics', '3DGraphics', 'Graphics', 'OCR', 'Photography', + 'Publishing', 'RasterGraphics', 'Scanning', 'VectorGraphics', 'Viewer' ), 'Network': ( 'Chat', 'Dialup', 'Feed', 'FileTransfer', 'HamRadio', - 'InstantMessaging', 'IRCClient', 'Monitor', 'News', 'P2P', + 'InstantMessaging', 'IRCClient', 'Monitor', 'News', 'Network', 'P2P', 'RemoteAccess', 'Telephony', 'TelephonyTools', 'WebBrowser', 'WebDevelopment' ), 'AudioVideo': ( - 'AudioVideoEditing', 'DiscBurning', 'Midi', 'Mixer', 'Player', - 'Recorder', 'Sequencer', 'Tuner', 'TV' + 'Audio', 'AudioVideoEditing', 'DiscBurning', 'Midi', 'Mixer', 'Player', + 'Recorder', 'Sequencer', 'Tuner', 'TV', 'Video' ), 'Office': ( 'Calendar', 'ContactManagement', 'Database', 'Dictionary', - 'Chart', 'Email', 'Finance', 'FlowChart', 'PDA', 'Photography', - 'ProjectManagement', 'Presentation', 'Publishing', + 'Chart', 'Email', 'Finance', 'FlowChart', 'Office', 'PDA', + 'Photography', 'ProjectManagement', 'Presentation', 'Publishing', 'Spreadsheet', 'WordProcessor' ), _('Other'): ( @@ -126,11 +131,11 @@ category_groups = { ), 'Settings': ( 'Accessibility', 'DesktopSettings', 'HardwareSettings', - 'PackageManager', 'Printing', 'Security' + 'PackageManager', 'Printing', 'Security', 'Settings' ), 'System': ( 'Emulator', 'FileManager', 'Filesystem', 'FileTools', 'Monitor', - 'Security', 'TerminalEmulator' + 'Security', 'System', 'TerminalEmulator' ) } -- 2.13.2