Fitxers de definició de menú
Els fitxers de menú defineixen la jerarquia dels menús que s'utilitzen a la barra de menú del GNOME. En modificar aquests fitxers podeu personalitzar els menús per a tots els usuaris o per a un de sol, depenent de la ubicació del fitxer applications.menu que modifiqueu.
Els fitxers de menú han de residir a $XDG_CONFIG_DIRS/menus/applications.menu. Si $XDG_CONFIG_DIRS1 no s'ha establert, llavors s'utilitza el camí predeterminat /etc/xdg. Això també implica que una versió específica de l'usuari ha d'estar ubicada a $XDG_CONFIG_HOME/menus/applications.menu, on primer es fa la cerca. Si $XDG_CONFIG_HOME no s'ha establert, llavors s'utilitza el camí predeterminat ~/.config. Els directoris que apareguin primer a $XDG_CONFIG_DIRS tenen preferència quan hi ha diversos fitxers applications.menu. El primer fitxer trobat és l'utilitzat i els fitxers següents són ignorats.
Si esteu confós sobre l'ordre en què es cerquen els camins, a continuació es mostra una llista senzilla per a resoldre la ubicació del applications.menu:
- Es cerca en cada directori de $XDG_CONFIG_HOME per a trobar el menus/applications.menu. Si $XDG_CONFIG_HOME no s'ha establert, es canvia el directori predeterminat a ~/.config/.
- Es cerca en cada directori de $XDG_CONFIG_DIRS per a trobar el menus/applications.menu. Si $XDG_CONFIG_DIRS no s'ha establert, es canvia el directori predeterminat a /etc/xdg/.
- S'utilitza el primer fitxer applications.menu que es trobi.
Podeu veure un exemple d'un fitxer .menu en l'Exemple 2-1. En aquest exemple, el menú de nivell superior s'anomena Applications, que està especificat a través de l'element <Name>. El menú Applications conté un submenú, però es permeten diversos submenús. Cada submenú també pot tenir un element <Include>. La finalitat de l'element <Include> és servir de filtre sobre el conjunt d'entrades disponibles de l'escriptori utilitzant regles de coincidència.
Per exemple, l'element <Category> és una regla de coincidència bàsica que selecciona una entrada d'escriptori només si la clau Categories conté el contingut de l'element <Category>. En l'exemple, el menú Accessories només inclourà una entrada d'escriptori si conté “Utility” però no “System” en la clau Categories. Per a obtenir més informació sobre la clau Categories, vegeu la Secció 2.3 ― Fitxers d'entrada d'escriptori.
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> <Menu> <Name>Applications</Name> <Directory>Applications.directory</Directory> <!-- Read standard .directory and .desktop file locations --> <DefaultAppDirs/> <DefaultDirectoryDirs/> <!-- Accessories submenu --> <Menu> <Name>Accessories</Name> <Directory>Accessories.directory</Directory> <Include> <And> <Category>Utility</Category> <Not> <Category>System</Category> </Not> </And> </Include> </Menu> <!-- End Accessories --> <!-- possibly more submenus --> </Menu> <!-- End Applications -->
Taula 2-1 descriu algun dels elements en els fitxers .menu. Per a una descripció més detallada, vegeu l'Especificació de menú XDG.
Element | Descripció |
---|---|
<Menu> | L'element arrel que pot contenir elements imbricats <Menu> que defineixen els submenús. La manera en com aquests elements estan imbricats determina l'estructura del menú. |
<Name> | Especifica el nom del menú. Cada element <Menu> ha de contenir un element <Name>. |
<Directory> |
Especifica el nom del fitxer d'entrada de directori que especifica el nom, comentari i icona per al menú. Si aquest element no està especificat, llavors l'element <Name> s'utilitzarà per a mostrar el nom del menú. Per defecte, es cerca els fitxers .directory a la ubicació $XDG_DATA_DIRS/desktop-directories/ tal i com s'explica en l'Especificació de menú XDG. |
<DefaultAppDirs> | Aquesta és una instrucció que indica que totes les entrades de l'escriptori a $XDG_DATA_DIRS/applications/ s'haurien de processar. Si aquesta instrucció no s'inclou, no es cercaran entrades d'escriptori en aquestes ubicacions. |
<DefaultDirectoryDirs> | Aquesta és una instrucció que indica que totes les entrades de directori disponibles des de $XDG_DATA_DIRS/desktop-directories/ s'haurien de processar. Si aquesta instrucció no s'inclou, no es cercaran entrades d'escriptori en aquestes ubicacions. |
<Include> | Conte una llista de regles de coincidència a partir de les quals es generen els continguts d'un menú. Pot incloure les regles de coincidència <Filename>, <Category>, <And>, <Or>, <Not> o <All>. Si hi ha més d'una regla present, s'aplicara un OR lògic a les regles de manera que s'incloguin les entrades d'escriptori que coincideixin amb qualsevol regla. |
<Exclude> | L'oposat de <Include> ja que qualsevol de les entrades d'escriptori que coincideixin amb aquest element s'exclouran del conjunt anterior d'elements inclosos. Per aquesta raó, aquest element ha d'aparèixer després de l'element <Include>. |
<Filename> | Una regla de coincidència que selecciona una entrada d'escriptori quan l'identificador del fitxer de l'escriptori coincideix amb el contingut de l'element <Filename>. |
<Category> | Una regla de coincidència que selecciona una entrada d'escriptori quan la clau Categories coincideix amb el contingut de l'element <Category>. |
<And> | Una regla de coincidència que selecciona una entrada d'escriptori quan està seleccionada per totes les regles de coincidència imbricades en l'element <And>. |
<Or> | Una regla de coincidència que selecciona una entrada d'escriptori quan està seleccionada per qualsevol de les regles de coincidència imbricades en l'element <Or>. |
<Not> | Una regla de coincidència que no selecciona una entrada d'escriptori quan està seleccionada per qualsevol de les regles de coincidència imbricades en l'element <Not>. |
<All> | Una regla de coincidència que selecciona totes les entrades d'escriptori. |