diff options
-rw-r--r-- | menu/ChangeLog | 6 | ||||
-rw-r--r-- | menu/menu-spec.xml | 29 |
2 files changed, 22 insertions, 13 deletions
diff --git a/menu/ChangeLog b/menu/ChangeLog index 89a9b2f..2406bf7 100644 --- a/menu/ChangeLog +++ b/menu/ChangeLog @@ -1,3 +1,9 @@ +2004-12-08 Mark McLoughlin <mark@skynet.ie> + + * menu-spec.xml: make <OnlyUnallocated/> be for entries + which don't match any <Include> rule rather than entries + which don't appear in any menu. + 2004-09-03 Mark McLoughlin <mark@skynet.ie> * menu-spec.xml: minor typo - "This specification adds two diff --git a/menu/menu-spec.xml b/menu/menu-spec.xml index 192d53d..b227535 100644 --- a/menu/menu-spec.xml +++ b/menu/menu-spec.xml @@ -4,8 +4,8 @@ <article id="index"> <articleinfo> <title>Desktop Menu Specification</title> - <releaseinfo>Version 0.8</releaseinfo> - <date>9 November 2003</date> + <releaseinfo>Version 0.9</releaseinfo> + <date>8 December 2004</date> <authorgroup> <author> <firstname>Waldo</firstname> @@ -483,12 +483,13 @@ entries</ulink>: <varname>Categories</varname>, To handle <OnlyUnallocated>, the menu file must be analyzed in two conceptual passes. The first pass processes <Menu> elements that can match any desktop entry. During - this pass, each desktop entry is marked according to whether it - was included in some <Menu>. The second pass processes - only <Menu> elements that are restricted to unallocated - desktop entries. During the second pass, queries may only match - desktop entries that were not allocated to some menu during the - first pass. See <xref linkend="query-algorithm"/>. + this pass, each desktop entry is marked as allocated according + to whether it was matched by an <Include> rule in some + <Menu>. The second pass processes only <Menu> + elements that are restricted to unallocated desktop entries. + During the second pass, queries may only match desktop entries + that were not marked as allocated during the first pass. + See <xref linkend="query-algorithm"/>. </para> </listitem> </varlistentry> @@ -1044,13 +1045,15 @@ entries</ulink>: <varname>Categories</varname>, Next, walk through all <Include> and <Exclude> statements. For each <Include>, match the rules against the pool of all desktop entries. For each desktop entry that matches one of the rules, - add it to the menu to be displayed. For each <Exclude>, match - the rules against the currently-included desktop entries. For each - desktop entry that matches, remove it again from the menu. + add it to the menu to be displayed and mark it as having been allocated. + For each <Exclude>, match the rules against the currently-included + desktop entries. For each desktop entry that matches, remove it again + from the menu. </para> <para> - Two passes are necessary, once for regular menus, and - once for <OnlyUnallocated> menus. + Two passes are necessary, once for regular menus where any entry may + be matched, and once for <OnlyUnallocated> menus where only entries + which have not been marked as allocated may be matched. </para> <para> The result is a tree of desktop entries, of course. |