我想解析Gnome Panels(標準Gnome桌面應用程序啓動器)的菜單結構,並且它是使用c/C++函數調用的KDE等價物。也就是說,我想要列出在給定機器中安裝基本菜單類別和子菜單的內容。我想要使用相當簡單的c/C++函數調用(沒有脫殼請)。如何解析C++中的XDG/gnome/kde菜單/桌面項目結構?
我知道這些菜單是標準的xdg格式。 據我所知,這個菜單結構存儲在XML文件中,如:
/home/user/.config/menus/applications.menu
我在這裏看了:http://www.freedesktop.org/wiki/Specifications/menu-spec?action=show&redirect=Standards%2Fmenu-spec但所有他們提供的是標準和一些shell文件插入項目條目(我不想shell腳本,我不想安裝,我絕對不想從XDG規範創建一個c-library,我想找到現有的菜單結構)。我在這裏看過:http://library.gnome.org/admin/system-admin-guide/stable/menustructure-13.html.en瞭解關於這些結構的更多註釋。這些都不能讓我明白如何使用c/C++程序確定菜單結構。
實際GNOME菜單結構似乎是一種極其可怕的事情毛茸茸 - 他們似乎沒有顯示菜單結構,而是給的所有更改的XML編碼描述,自從安裝菜單曾經走過的。我假設gnome面板解析這些文件,所以有一個函數被埋在某處,但是我在掃描library.gnome.org幾天後還沒有找到該函數的位置。我也掃描了鸚鵡螺源代碼,但面板似乎存在於其他地方或埋在其中。
在此先感謝