Il arrive souvent qu'un utilisateur veuille ajouter ou supprimer des éléments de menu par rapport au menu standard du système. Pour prendre en charge ces modifications, vous devez utiliser l'élément <MergeFile> avec l'attribut type="parent" dans le fichier applications.menu de l'utilisateur.
L'élément <MergeFile> permet à un menu d'être fusionné avec le contenu du fichier de menu de l'utilisateur. Quand vous spécifiez l'attribut type de l'élément comme “parent”, le contenu de l'élément <MergeFile> est ignoré. Le fichier applications.menu suivant dans le répertoire $XDG_CONFIG_DIRS/menus est utilisé pour la fusion.
La fusion de menus s'effectue comme suit :
Les enfants de l'élément racine <Menu> dans le fichier de menu fusionné remplacent l'élément <MergeFile> dans le fichier de menu de base.
Tous les éléments <Menu> enfants avec le même nom sont consolidés en un unique élément <Menu> en ajoutant tous les éléments enfants à chaque élément <Menu> avec le même nom dans la dernière occurrence de l'élément de menu.
L'exemple suivant montre un fichier de menu utilisateur fusionnant explicitement avec le fichier de menu système.
<!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>