Édition des menus système

Il est possible d'éditer les fichiers de configuration de menus et les fichiers de données de menus afin de personnaliser les menus.

II.V.I. Ajout de menus

Pour ajouter un menu pour tous les utilisateurs, effectuez les opérations suivantes :

  1. Créez une fichier d'entrée de répertoire pour l'élément à ajouter. Placez ce fichier dans le répertoire $XDG_DATA_DIRS/desktop-directories. Pour plus d'informations sur les fichiers d'entrée de répertoire, consultez Section II.IV ― Fichiers d'entrée de répertoire.
  2. Situez le fichier $XDG_CONFIG_DIRS/menus/applications.menu.
  3. Dans le fichier .menu, ajoutez un élément <Menu> pour le nouveau menu. Pour plus d'informations sur les fichiers .menu, consultez Section II.II ― Fichiers de définition de menu.
  4. Créez un élément<Name> sous <Menu>. Le contenu de l'élément devrait contenir le nom du menu.
  5. Créez un élément <Directory> sous <Menu>. Le contenu de l'élément devrait contenir le nom du fichier d'entrée de répertoire.
  6. Consultez Section II.V.II ― Ajout d'un élément à un menu pour savoir comment ajouter un élément à un menu.

À la prochaine connexion d'un utilisateur, le menu devrait apparaître dans la barre de menus.

Menu manquant ?

Si vous n'avez spécifié aucune règle de correspondance dans l'élément <Include> ou si la règle ne correspond à aucun fichier .desktop, il se peut que le menu n'apparaisse pas dans la barre de menus.

II.V.II. Ajout d'un élément à un menu

Pour ajouter un élément à un menu pour tous les utilisateurs, effectuez les opérations suivantes :

  1. Créez un fichier .desktop pour l'élément à ajouter. Pour plus d'informations sur les fichiers .desktop, consultez Section II.III ― Fichiers .desktop.
  2. Placez le fichier .desktop dans le dossier $XDG_DATA_DIRS/applications.
  3. Situez le fichier $XDG_CONFIG_DIRS/menus/applications.menu.
  4. Vérifiez qu'un élément <Menu> contient un élément <Include> avec une règle de correspondance qui sélectionne le fichier .desktop créé à l'étape 1.

À la prochaine connexion d'un utilisateur, l'élément de menu doit se trouver à l'emplacement prévu.

II.V.III. Édition des propriétés d'un menu

Pour éditer les propriétés d'un menu pour tous les utilisateurs, effectuez les opérations suivantes :

  1. Situez le fichier $XDG_CONFIG_DIRS/menus/applications.menu.
  2. Dans ce fichier, trouvez l'entrée <Menu> correspondant au menu que vous voulez modifier. Relevez le nom de fichier de l'entrée de répertoire dans l'élément <Directory>.
  3. Situez l'entrée de répertoire pour ce menu. Modifiez son contenu pour changer les propriétés du menu. Pour plus d'informations sur les fichiers .directory, consultez Section II.IV ― Fichiers d'entrée de répertoire.

II.V.IV. Édition d'un élément de menu

Pour éditer un élément de menu, effectuez les opérations suivantes :

  1. Situez le fichier .desktop dans le répertoire $XDG_DATA_DIRS/applications correspondant à l'élément de menu.
  2. Modifiez ce fichier pour changer les propriétés de l'élément de menu. Pour plus d'informations sur les fichiers .desktop, consultez Section II.III ― Fichiers .desktop.

II.V.V. Suppression d'un élément de menu

Pour supprimer un élément d'un menu pour tous les utilisateurs :

  1. Situez le fichier $XDG_CONFIG_DIRS/menus/applications.menu.
  2. Dans ce fichier, trouvez l'élément <Menu> contenant l'élément .desktop à supprimer.
  3. Insérez un élément <Exclude> après la balise fermante de l'élément <Include>. Assurez-vous de rester dans le cadre de l'élément <Menu> déterminé à l'étape 2.
  4. Insérez la règle de correspondance <Filename> en tant que sous-élément de <Exclude> pour exclure spécifiquement une entrée de menu.

À la prochaine connexion d'un utilisateur, l'élément de menu n'apparaît plus dans le menu. L'Exemple II.2 montre comment on peut faire cela dans le fichier applications.menu. L'entrée de menu pour dasher.desktop est explicitement exclue dans l'affichage du menu d'accessibilité.

Exemple II.2 Suppression d'un élément de menu
<!-- ... -->

  <Menu>
    <Name>Accessibility</Name>
    <Directory>Accessibility.directory</Directory>
    <Include>
      <And>
        <Category>Accessibility</Category>
        <Not><Category>Settings</Category></Not>
      </And>
    </Include>
    <Exclude>
      <Filename>dasher.desktop</Filename>
    </Exclude>
  </Menu>

<!-- ... -->