Feature - Fonctionnalité #1565
[11.08] Profils - gestion du menu principal et des sous menu. (fichiers *.menu)
100%
Description
Principes généraux dans https://redmine.ryxeo.com/projects/horizon-profiles/wiki/Compr%C3%A9hension_globale_des_profils_pour_gnome
La doc est là : http://library.gnome.org/admin/system-admin-guide/stable/menustructure-2.html.fr
Le menu principal par défaut de Gnome est "applications.menu", ils se trouvent dans /etc/xdg/menus.
J'ai cherché longtemps à modifier directement ce menu avant de trouver l'astuce des "fusions de menu". (<MergeFile>)
Voir http://library.gnome.org/admin/system-admin-guide/stable/menustructure-usermenus.html.fr
j'ai donc créé dans le répertoire /etc/xdg/menus le sous-répertoire "applications-merged" dans lequel j'ai créé les fichiers
- abuledu-cycle1-applications.menu
- abuledu-cycle2-applications.menu
- abuledu-cycle3-applications.menu
Et c'est là que j'ai fait une erreur en laissant la ligne
<!-- Read in overrides and child menus from applications-merged/ --> <DefaultMergeDirs/>
Ce qui à conduit à une lecture en boucle des fichiers .menu par KDE4 (Ksyscoca) et un débordement très important de la RAM.
Donc TRÈS IMPORTANT de commenter ou effacer cette ligne !
Exemple de abuledu-cycle1-applications.menu :
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> <Menu> <Name>Applications</Name> <MergeFile type="parent">/etc/xdg/menus/applications.menu</MergeFile> <Directory>X-GNOME-Menu-Applications.directory</Directory> <!-- Scan legacy dirs first, as later items take priority --> <LegacyDir>/etc/X11/applnk</LegacyDir> <LegacyDir>/usr/share/gnome/apps</LegacyDir> <!-- Read standard .directory and .desktop file locations --> <DefaultAppDirs/> <DefaultDirectoryDirs/> <!-- Read in overrides and child menus from applications-merged/ --> <!-- <DefaultMergeDirs/> --> <!-- AbulEdu cycle1--> <Menu> <Name>AbulEdu</Name> <Directory>abuledu.directory</Directory> <Menu> <Name>AbulEdu cycle1</Name> <Directory>abuledu-cycle1.directory</Directory> <!-- AbulEdu-Le Terrier --> <Menu> <Name>AbulEdu-Le Terrier</Name> <Directory>le-terrier.directory</Directory> <Include> <And> <Category>abuledu-cycle1-leterrier</Category> <Not><Category>abuledu-cycle1-Education</Category></Not> </And> </Include> </Menu> <!-- End AbulEdu-Le Terrier --> <!-- abuledu-cycle1-Science --> <Menu> <Name>Science</Name> <Directory>GnomeScience.directory</Directory> <Include> <And> <Category>abuledu-cycle1-Education</Category> <Category>abuledu-cycle1-Science</Category> </And> </Include> </Menu> <!-- End abuledu-cycle1-Science --> <!-- abuledu-cycle1-Game --> <Menu> <Name>Games</Name> <Directory>Game.directory</Directory> <Include> <And> <Category>abuledu-cycle1-Game</Category> <Not><Category>ActionGame</Category></Not> <Not><Category>AdventureGame</Category></Not> <Not><Category>ArcadeGame</Category></Not> <Not><Category>BoardGame</Category></Not> <Not><Category>BlocksGame</Category></Not> <Not><Category>CardGame</Category></Not> <Not><Category>KidsGame</Category></Not> <Not><Category>LogicGame</Category></Not> <Not><Category>RolePlaying</Category></Not> <Not><Category>Simulation</Category></Not> <Not><Category>SportsGame</Category></Not> <Not><Category>StrategyGame</Category></Not> </And> </Include> <DefaultLayout inline="true" inline_limit="6" inline_header="false"> <Merge type="menus"/> <Merge type="files"/> </DefaultLayout> </Menu> <!-- End abuledu-cycle1-Game --> <!-- abuledu-cycle1-Graphics --> <Menu> <Name>Graphics</Name> <Directory>Graphics.directory</Directory> <Include> <And> <Category>abuledu-cycle1-Graphics</Category> </And> </Include> </Menu> <!-- End abuledu-cycle1-Graphics --> <!-- Internet --> <Menu> <Name>Internet</Name> <Directory>Network.directory</Directory> <Include> <And> <Category>abuledu-cycle1-Network</Category> </And> </Include> </Menu> <!-- End Internet --> <!-- Multimedia --> <Menu> <Name>Multimedia</Name> <Directory>AudioVideo.directory</Directory> <Include> <And> <Category>abuledu-cycle1-AudioVideo</Category> </And> </Include> </Menu> <!-- End Multimedia --> <!-- abuledu-cycle1-Office --> <Menu> <Name>Office</Name> <Directory>Office.directory</Directory> <Include> <And> <Category>abuledu-cycle1-Office</Category> </And> </Include> </Menu> <!-- End abuledu-cycle1-Office --> </Menu><!-- End abuledu-cycle1 --> </Menu><!-- End abuledu --> <!-- Separator between menus and gnome-app-install --> <Layout> <Merge type="menus"/> <Merge type="files"/> <Separator/> <Filename>ubuntu-software-center.desktop</Filename> </Layout> </Menu> <!-- End Applications -->
Demandes liées
Historique
#1 Mis à jour par Eric Seigne il y a plus de 13 ans
Stéphane,
il faudra vérifier, j'ai ce message d'erreur qui m'inquiète ...
** (gnome-panel:2588): WARNING **: Not loading "/etc/xdg/menus/applications.menu": recursive loop detected in .menu files ** (gnome-panel:2588): WARNING **: Not loading "/etc/xdg/menus/applications.menu": recursive loop detected in .menu files ** (gnome-panel:2588): WARNING **: Not loading "/etc/xdg/menus/applications.menu": recursive loop detected in .menu files
Une boucle infinie c'est jamais bon :(
#2 Mis à jour par Eric Seigne il y a environ 13 ans
- Statut changé de New - Nouveau à Fixed - Corrigé - Implémenté
- % réalisé changé de 0 à 100