Gnome パネル (標準の Gnome デスクトップ アプリケーション ランチャー) のメニュー構造を解析したいと思います。これは、c/c++ 関数呼び出しを使用して KDE に相当します。つまり、特定のマシンにインストールされている基本メニュー カテゴリとサブメニューのリストが必要です。かなり単純な c/c++ 関数呼び出しを使用してやりたいと思います (シェルを使用しないでください)。
これらのメニューが標準の xdg 形式であることを理解しています。このメニュー構造が次のような xml ファイルに保存されていることを理解しています。
/home/user/.config/menus/applications.menu
私はここを見てきました:http://www.freedesktop.org/wiki/Specifications/menu-spec?action=show&redirect=Standards%2Fmenu-specしかし、彼らが提供するのは、アイテムエントリを挿入するための標準といくつかのシェルファイルだけです(私はシェルスクリプトはいらない、インストールしたくない、XDG 仕様から c-library を作成したくない、既存のメニュー構造を見つけたい)。これらの構造の詳細については、 http : //library.gnome.org/admin/system-admin-guide/stable/menustructure-13.html.enを参照してください。これのどれも、ac/c++ プログラムを使用してメニュー構造を決定する方法について良い考えを与えてくれません。
実際の gnome メニュー構造は、恐ろしく毛むくじゃらのようです。メニュー構造を示しているようには見えませんが、インストール以降にメニューが行ったすべての変更を XML コードで記述しているようです。gnome パネルがこれらのファイルを解析するため、これを行う関数がどこかに埋め込まれていると思いますが、library.gnome.org を数日間スキャンした後、その関数がどこにあるのかまだわかりません。Nautilus のソース コードもスキャンしましたが、パネルが別の場所に存在するか、十分に埋められているようです。
前もって感謝します