종종, 사용자는 표준 시스템 메뉴와 더불어 메뉴 항목을 추가/삭제하기도 합니다. 이러한 변경을 지원하려면 사용자의 applications.menu 파일에서 <MergeFile> 요소를 type="parent" 속성과 함께 사용해야 합니다.
<MergeFile> 요소를 사용하면 메뉴를 사용자 메뉴 파일의 내용과 병합할 수 있습니다. 요소의 type 속성을 “parent”로 지정하면 <MergeFile> 요소의 내용은 무시됩니다. $XDG_CONFIG_DIRS/menus 디렉토리의 다음 applications.menu 파일이 병합에 사용됩니다.
다음과 같이 메뉴 병합이 수행됩니다.
기본 메뉴 파일의 <MergeFile> 요소가 병합된 메뉴 파일의 루트 <Menu> 요소의 하위로 대체됩니다.
동일한 이름의 모든 하위 <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>