Editar Menus de Utilizadores e Juntar Menus
Pode utilizar a seguinte aplicação do Ambiente de Trabalho GNOME para editar os menus dos utilizadores:
- Editor de Menus do GNOME
Encontra-se disponível um editor de menus simples com o qual os utilizadores podem editar os seus menus. Para mais informações, consulte Trabalhar Com Menus no Manual de Utilização do GNOME. Em alternativa, pode criar e editar manualmente um ficheiro de menu do utilizador.
Para criar manualmente um menu personalizado para um utilizador, tem de existir o ficheiro $XDG_CONFIG_HOME/menus/applications.menu. Caso $XDG_CONFIG_HOME não esteja definida, será utilizado o directório por omissão ~/.config. Visto esta ser a primeira localização onde é procurado o ficheiro applications.menu, ganha precedência sobre todos os restantes ficheiros de menu.
Os menus dos utilizadores podem conter todos os elementos descritos em Secção 2.2 ― Ficheiros de Definição de Menus. Para uma lista completa dos elementos permitidos, consulte a especificação de menu XDG.
Visto que os ficheiros de menu dos utilizadores ganham precedência sobre o ficheiro de menu do sistema, irá substituir completamente o menu de sistema excepto se explicitamente juntar o menu de sistema. Informação sobre juntar menus está disponível nas seguintes subsecções.
- 2.6.1. Juntar o Menu de Sistema
- 2.6.2. Juntar Menus Arbitrários
2.6.1. Juntar o Menu de Sistema
Muitas vezes, um utilizador apenas deseja adicionar ou remover itens do menu para além do menu de sistema padrão. Para suportar alterações isoladas deste tipo, recomenda-se que utilize o elemento <MergeFile> com o atributo type="parent" dentro do ficheiro applications.menu do utilizador.
O elemento <MergeFile> permite que um menu seja junto com o conteúdo do ficheiro de menu do utilizador. Quando especifica o atributo type="parent", o conteúdo do elemento <MergeFile> são ignorados e o ficheiro applications.menu seguinte no directório $XDG_CONFIG_DIRS/menus é utilizado para a junção.
Especificações antigas não incluiam o atributo type e apenas requeriam que a localização do ficheiro de menu fosse junta como sendo o conteúdo do elemento <MergeFile>. Assim, poderá ainda ver uma localização especificada no conteúdo de <MergeFile>, mesmo quando type="parent".
A junção é realizada da seguinte forma:
- Os filhos do elemento <Menu> raiz no ficheiro de menu junto 1 são substituídos pelo elemento <MergeFile> no ficheiro de menu base.
- Todos os elementos <Menu> filhos com o mesmo nome são consolidades num único elemento <Menu>. Tal é realizado acrescentando todos os elementos filhos de cada elemento <Menu> com o mesmo nome na última ocorrência do elemento de menu.
Exemplo 2-3 apresenta um exemplo de um ficheiro de menu do utilizador a juntar explicitamente o ficheiro de menu do 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. Juntar Menus Arbitrários
Ficheiros de menu arbitrários podem ser juntos de forma semelhante ao dos menus de sistema. A diferença é que o atributo type tem de ser definido como path ou ser excluído do elemento <MergeFile> por forma a realizar este tipo de junção.
A junção é realizada da mesma forma excepto que a localização do ficheiro de junto é especificada no conteúdo do elemento <MergeFile>.
O ficheiro de menu junto refere-se ao applications.menu seguinte no directório $XDG_CONFIG_DIRS/menus.