Comment vous analysez le menu XDG / gnome / kde / structure élément de bureau en c ++?

StackOverflow https://stackoverflow.com/questions/2795309

  •  04-10-2019
  •  | 
  •  

Question

Je voudrais analyser la structure de menu pour les panneaux Gnome (le lanceur d'application standard Gnome Desktop) et équivalent de KDE en utilisant c / c ++ appels de fonction. C'est, je voudrais une liste de ce que les catégories de menu de base et sous-menu sont installés dans une machine donnée. Je voudrais faire avec l'aide d'appels c / c ++ fonction assez simple (sans les bombardements s'il vous plaît ).

Je comprends que ces menus sont au format standard xdg. Je comprends que cette structure de menu est stocké dans des fichiers XML tels que:

/home/user/.config/menus/applications.menu

J'ai regardé ici: http : //www.freedesktop.org/wiki/Specifications/menu-spec Action = montrer & redirect = normes% 2Fmenu-spec mais tout ce qu'ils offrent est la norme et certains fichiers shell pour insérer des entrées d'articles (je ne sais pas veulent des scripts shell, je ne veux pas l'installation, je ne veux certainement pas créer un c-bibliothèque de la spécification XDG. Je veux trouver la structure de menu existant). Je l'ai regardé ici: http: // library.gnome.org/admin/system-admin-guide/stable/menustructure-13.html.en pour plus de notes sur ces structures. Rien de tout cela me donne une bonne idée de la façon dont déterminer les structures de menu à l'aide d'un c / c ++ programme.

Les structures de menu gnome réels semblent être une des choses épouvantablement poilus - ils ne semblent pas montrer la structure de menu, mais pour donner une description de code XML de toutes les modifications que les menus ont disparu par le biais depuis l'installation. Je suppose que les panneaux gnome parse ces fichiers donc il y a une fonction enterré quelque part pour le faire, mais je l'ai pas encore trouvé où cette fonction est après la numérisation library.gnome.org pendant deux ou trois jours. J'ai scanné le code source Nautilus ainsi, mais les panneaux semblent exister ailleurs ou sont bien Burried.

Merci à l'avance

Était-ce utile?

La solution

Après approche beaucoup la recherche douloureuse ... il semble que le plus stable est de prendre le code d'analyse syntaxique de menu gnome, le déchirer de la boule de goudron et de l'utiliser localement.

La version je ici: http: //download.gnome. org / sources / gnome-menus / 2,28 / gnome-menus-2.28.0.1.tar.gz

Ce code clame haut et fort qu'il ne devrait pas traitée comme une sorte d'API si on est forcé de, comme je l'ai dit le déchirer de l'arbre de gnome et de garder une copie locale pour sa propre application (recueillir que de lier dynamiquement à une bibliothèque ).

La version de KDE du code de menu analyse syntaxique semble comme il pourrait être utilisé plus, mais dépend en fait transportable fortement sur le système de fichiers virtuel de KDE. Pour autant que je peux dire, les œuvres de gnome de code autonome. Le fichier de test peut servir de modèle pour faire votre propre analyse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top