和gnome菜单显示相关的有三个目录:/usr/share/applications,/usr/share/gnome/apps和/etc/X11/applnk/
对于前者即/usr/share/applications里面都是以desktop为后缀的文档;对于后者/usr/share/gnome/apps和/etc/X11/applnk/里面是一些目录,它们可以是Network,Office,Graphics,AudioVideo,System,Development,Utility,Settings等。一般在这些目录里面也是以desktop为结尾的文件这些文件对应的菜单项一般是让它们在其它里面显示。对于/usr/share/applications里面的文件,既可在其它里面显示也可在第一级菜单里面显示。
下面来看一下以.desktop结尾的文件的格式,低下是一个模板:
[Desktop Entry]
Name[zh_CN]=
Exec=
Icon=
Terminal=
Type=
Categories=Application;;;
Encoding=UTF-8
Comment=
Comment[zh_CN]=
OnlyShowIn=
X-Desktop-File-Install-Version=0.3
对上面的每一项我逐一解释:
Name--你原意给程序取的名字
Name[zh_CN]--程序对应local为中文是的名字
Exec要执行的应用程序路径
Icon你想要显示的图标路径
Type程序的种类,一般为Application即可。
下面的Categories是关键,注意上面的几个分号,第一个之前一般为Application即可。第二个之前可以为Network,Office,Graphics,AudioVideo,System,Development,Utility,Settings之一。
它们分别对应如下:
互联网 Network
办公 Office
图像 Graphics
声音和视频 AudioVideo
系统工具 System
编程 Development
辅助选项 Utility
首选项 Settings。
也就是说如果这一项是Network就会在互联网栏里面显示,这一项是Utility,你创建的菜单项就会在辅助选项里面显示,如此类推。
第二个分号之后的内容可以为X-Red-Hat-Base加X-Red-Hat-Base-Only或者X-Red-Hat-Extra。(注意只要加了X-Red-Hat-Base就不会在其他里面显示了)对于X-Red-Hat-Base加X-Red-Hat-Base-Only将在一级菜单里面显示,对于X-Red-Hat-Extra将在其它里面显示。
下面看两个实例:
[Desktop Entry]
Name[zh_CN]=红色办公Office
Exec=redoffice
Icon=/usr/share/pixmaps/RedHat-word-processor.png
Terminal=false
Type=Application
Categories=Application;Office;X-Red-Hat-Extra;
Encoding=UTF-8
Comment=RedOffice1.2
Comment[zh_CN]=Office工具
X-Desktop-File-Install-Version=0.3
将在 其他 的 办公 里面显示我的菜单.
[Desktop Entry]
Name[zh_CN]=红色办公Office
Exec=redoffice
Icon=/usr/share/pixmaps/redhat-word-processor.png
Terminal=false
Type=Application
Categories=Application;Office;X-Red-Hat-Base;X-Red-Hat-Base-Only;
Encoding=UTF-8
Comment=RedOffice1.2
Comment[zh_CN]=Office工具
X-Desktop-File-Install-Version=0.3