XDG menu specificatiom implementation status ======================================================================= I. Supported menu file elements II. Test suite results III. Filesystem monitoring IV. UI interaction I. Supported menu file elements =============================== [x] [x] [x] [x] [x] [x] [x] [x] and Supported by using a two-pass resolving mechanism as stated in the spec ("Generating the menus"). [x] and [x] Recursion scheme (only recurse on and/or/not elements): and|or|not and|or|not and|or|not ... category|filename category|filename [x] [x] [x] [x] [x] [x] [x] [ ] [ ] [ ] [-] elements are parsed and added to the menus which contain them in the menu file. Legacy menus are created for legacy dirs with a .directory file. However, their desktop files are not parsed yet. [-] See [-] See [-] elements are parsed and functions for applying them do exist. They are incomplete though: they only rename menus if the menu does not exist. Merging is not done yet. [-] See [-] See [x] [ ] [-] The element is parsed and applied, but XML attributes like show_empty, inline, inline_limit etc. are not handled. [x] [x] II. Test suite results ====================== The script tests/test-menu-spec makes it possible to test our implementation with the freedesktop.org menu specification test suite: http://webcvs.freedesktop.org/menus/menu-spec/tests/ Passed tests: * All * And * AppDir-relative * boolean-logic * Category * Deleted * desktop-name-collision * DesktopFileID * DirectoryDir-relative * Directory * Exclude * Filename * menu-multiple-matching * Merge-combined * NoDisplay * NoDisplay2 * NotOnlyUnallocated-default * official-categories * OnlyUnallocated * Or * submenu-collision Failed tests: * AppDir (test suite bug, missing result file) * DefaultMergeDirs * DirectoryDir (test suite bug, missing result file) * LegacyDir-Move * LegacyDir-relative * MergeDir-absolute * MergeDir-relative * MergeFile2 * MergeFile3 * MergeFile-absolute * MergeFile-parent * MergeFile-path * MergeFile-recursive * MergeFile-relative * Move-collapsing * Move-ordering * Move-submenu * Move (unverified test suite bug) A list of test suite bugs I found during testing can be found here: http://lunar-linux.org/~jannis/menu-spec-testsuite.txt III. Filesystem monitoring ========================== Filesystem monitoring is done by moving the actual work into the client application. Using XfceMenuMonitorVTable applications can register functions to be called when monitoring of a file or directory is needed. They then have to care about monitoring themselves (see xfce-menu-monitor.{c,h} for details. IV. UI interaction ================== Using GObject signals it should be easy to connect to menus and menu items in order to update the related widgets. Written by Jannis Pohlmann . $Id: STATUS 25194 2007-03-18 15:16:39Z jannis $