Date Tags xubuntu

Dans Xfce 4.8, c’est garcon qui s’occupe de la génération du menu Applications. Il est tout neuf, tout beau, il respecte les spécifications XDG et il est développé par Jannis. Mais — il en faut bien un —, le fichier menu par défaut contenu dans garcon n’est pas génial : il ne crée pas les sous- menus pour Wine et autres applications du genre et il fait beaucoup de doublons entre les catégories Settings <-> System et Office <-> Education <-> Science.

Gérer les sous-menus

Certaines applications (e.g. wine, extra-xdg-menus, ggzcore-bin, islamic- menus, zeroinstall-injector, etc.) installent un sous-menu pour que leurs entrées soient regroupées : par exemple, les programmes installés par wine se retrouvent dans un sous-menu/pseudo-catégorie Wine, plutôt que de s’entasser dans la catégorie Other. Pour cela, il suffit de placer un fichier menu dans /etc/xdg/menus/applications-merged/ et garcon va s’occuper de le fusionner avec le menu principal (libxfce4menu sous Xfce 4.6 ne le permettait pas). Malheureusement, il faut ajouter une directive spéciale au début du fichier xfce-applications.menu (/etc/xdg/menus/xfce-applications.menu, ou encore ~/.config/menus/xfce-applications.menu pour que ça ne touche que votre utilisateur) :

<DefaultMergeDirs/>

… ce qui n’est pas le cas dans la version 0.1.5 de garcon (mais c’est dans git depuis ce matin après un peu d’insistance sur IRC). Voilà, j’utilise pas wine, mais ça peut toujours servir. ;-)

Réduction des doublons

Cet aspect-là relève davantage de la préférence personnelle, et les goûts et les couleurs… Ce n’est pas très compliqué à changer, et vous pouvez faire pas mal de choses, et de tests sans rien casser — je vous recommande toutefois de lire la xdg menu spec au préalable.

Un exemple rapide pour illustrer le principe. Par défaut, le menu Settings affiche tous les programmes qui ont la catégorie Settings dans leur.desktop. Certaines applications système comme Gparted sont aussi dans cette catégorie, donc apparaissent à la fois dans System et Settings, et c’est chiant. La solution est immédiate, il suffit de n’inclure dans le menu Settings que les.desktop qui ne sont pas également dans System :

<Name>Settings</Name>
<Directory>xfce-settings.directory</Directory>
<Include>
    <Category>Settings</Category>
</Include>

devient :

<Name>Settings</Name>
<Directory>xfce-settings.directory</Directory>
<Include>
    <And>
        <Category>Settings</Category>
        <Not><Category>System</Category></Not>
    </And>
</Include>

Voilà pour l’exemple trivial. C’est probablement faisable avec un éditeur de menu, mais éditer du XML à la main, ça n’a pas de prix… Pour ceux qui veulent aller plus loin, vous pouvez bien entendu trouver des exemples de menus chez GNOME, KDE, e17, etc. Vous pouvez également regarder le menu de Xubuntu et essayer de deviner ce que j’ai changé par rapport au menu par défaut… Voici un menu qui corrige les soucis évoqués en intro (à renommer en.menu car wordpress a décidé de me concasser les gonades, et oui, c’est la dure vie).