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

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

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.

Example 2-3Juntar o Menu de 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>.

1

O ficheiro de menu junto refere-se ao applications.menu seguinte no directório $XDG_CONFIG_DIRS/menus.