Projet

Général

Profil

Feature - Fonctionnalité #1565

[11.08] Profils - gestion du menu principal et des sous menu. (fichiers *.menu)

Ajouté par Stéphane Hays il y a plus de 12 ans. Mis à jour il y a plus de 12 ans.

Statut:
Fixed - Corrigé - Implémenté
Priorité:
Normale
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
05/08/2011
Echéance:
% réalisé:

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

Lié à AbulÉdu - Bug #1586: erreur dans profil 6-8 ans LibreOffice Fixed - Corrigé - Implémenté 18/08/2011
Lié à horizon-profiles - Bug #1671: Les profils ne se propagent pas sur les clients lourds Fixed - Corrigé - Implémenté 21/09/2011

Historique

#1 Mis à jour par Eric Seigne il y a plus de 12 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 plus de 12 ans

  • Statut changé de New - Nouveau à Fixed - Corrigé - Implémenté
  • % réalisé changé de 0 à 100

Formats disponibles : Atom PDF

Redmine Appliance - Powered by TurnKey Linux