Editar los menús de usuario y mezclar menús
Puede usar las siguientes aplicaciones del Escritorio GNOME para editar menús para los usuarios:
- Editor de menús de GNOME
Un editor de menús sencillo está disponible para que los usuarios editen sus menús. Para obtener más información, consulte Trabajar con los menús en la Guía del usuario de GNOME. Alternativamente puede crear y editar archivos de menú manualmente.
Para crear un menú personalizado para un usuario manualmente, $XDG_CONFIG_HOME/menus/applications.menu debe existir. En el caso de que $XDG_CONFIG_HOME no esté establecida, se usará ~/.config como directorio predeterminado. Ya que esta es la primera ubicación donde se busca el archivo applications.menu, tiene precedencia sobre el resto de los archivos de menú.
Los menús de usuario pueden contener todos los elementos descritos en la Sección 2.2: Archivos de definición de menú. Para ver una lista completa de los elementos permitidos, consulte la especificacón de menú XDG.
Ya que los archivos de menú de usuario tienen preferencia sobre el archivo de menú del sistema, reemplazará completamente el menú del sistema a menos que se mezcle con el menú del sistema. En las siguientes subsecciónes hay información acerca de la mezcla de menús.
- 2.6.1. Mezclar el menú del sistema
- 2.6.2. Mezclar menús arbitrarios
2.6.1. Mezclar el menú del sistema
A menudo, un usuario sólo quiere añadir o borrar elementos del menú a los elementos ya existentes en el menú. Para soportar cambios individuales como estos, es recomendable que use el elemento <MergeFile> con el atributo type="parent" en el archivo applications.menu del usuario.
El elemento <MergeFile> permite que un menú se mezcle con el contenido del archivo de menú del usuario, Cuando especifica el atributo type="parent", entonces el contenido del elemento <MergeFile> se ignora y se usa el siguiente archivo applications.menu en el directorio $XDG_CONFIG_DIRS/menus para mezclarlo.
Las especificaciones antiguas no incluyen el atributo type y simplemente requieren la ubicación del archivo de menú para mezclarlo como el contenido del elemento <MergeFile>. Como resultado puede que vea una ubicación especificada en el contenido de <MergeFile>, incluso un elemento type="parent".
La mezcla se realiza como sigue:
- El hijo del elemento raíz <Menu> en el archivo de menú mezclado 1 se sustituye por el elemento <MergeFile> en el archivo de menú base.
- Todos los elementos <Menu> hijo con el mismo nombre se consolidan en un solo elemento <Menu>. Esto se realiza añadiendo todos los elementos hijo de cada elemento <Menu> con el mismo nombre en la última coincidencia del elemento del menú.
El Ejemplo 2-3 muestra un ejemplo de un archivo de menú de usuario explícitamente mezclado con el archivo de menú del sistema.
<!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>
2.6.2. Mezclar menús arbitrarios
Los archivos de menú arbitrarios se pueden mezclar de la misma forma que los menús del sistema. La diferencia es que el atributo type debe establecerse a path o debe excluirse del elemento <MergeFile> para poder realizar este tipo de mezcla.
La mezcla se realiza de la misma forma excepto por la ubicación de archivo de menú mezclado que se especifica en el contenido del elemento <MergeFile>.
El menú mezclado referencia al siguiente applications.menu en el directorio $XDG_CONFIG_DIRS/menus.