通常,用户仅希望添加或删除对标准系统菜单进行补充的菜单项。要支持这些更改,应在用户的 applications.menu 文件中使用属性 type="parent" 的 <MergeFile> 元素。
<MergeFile> 元素使菜单可以与用户的菜单文件内容进行合并。将元素的 type 属性指定为 “parent” 时,会忽略 <MergeFile> 元素的内容。使用 $XDG_CONFIG_DIRS/menus 目录中的下一个 applications.menu 文件进行合并。
菜单合并的执行方式如下所示:
合并的菜单文件中根 <Menu> 元素的子元素替换基本菜单文件中的 <MergeFile> 元素。
将所有同名 <Menu> 子元素整合到单个 <Menu> 元素中(通过将每个 <Menu> 元素的所有同名子元素附加到最后出现的菜单元素)。
以下示例显示了显式合并系统菜单文件的用户菜单文件。
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> <Menu> <Name>Applications</Name> <MergeFile type="parent">/etc/xdg/menus/applications.menu</MergeFile> <Menu> <Name>Accessibility</Name> <Exclude> <Filename>dasher.desktop</Filename> </Exclude> </Menu> </Menu>