QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4156|回复: 8

gnome菜单编辑解决方案

[复制链接]
发表于 2002-12-11 11:31:52 | 显示全部楼层 |阅读模式
转贴自LINUXSIR
原作者dnay


gnome菜单编辑解决方案

怎样在rh8 gnome里面编辑菜单呢?
(我在此将 菜单栏里面的 其他 以及其它里面的子目录以外的菜单栏 通称为一级目录,比如图像,互联网都是一级目录。)
和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=
Name[zh_CN]=
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=redoffice
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=redoffice
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


将在第一级菜单 办公[/b ]里面显示我的菜单
如下的几个是编码和说明以及是否在终端运行。OnlyShowIn指的是在kde里面还是gnome里面显示其值为GNOME或KDE
另外kde里面的菜单和/usr/share/applnk/的文件有关当然对应有[Kde Desktop Entry]我是用的gnome,没有试KDE.


因此,对于gnome用户在/usr/share/applications/目录里面新建一个以desktop为后缀的文件,在里面指定相应的参数是最好不过了。.当然也可以在另外的那些目录里面指定.我个人感觉到在/usr/share/applications/下面比较好。


l另外在编辑文件的是后用gedit,否则中文无法显示

对于上面的解决方案,有些参数还可以取其他的值,我没有试过,不过对于大家一般的应用也就够了。呵呵,还望赐教!



如果大家对菜单的编辑有兴趣,希望多了解一些参数,我建议大家看看
/etc/X11/desktop-menus下面以menus结尾的几个文件,可以从那里了解到
更多的参数和它们的用法。



运行gnome-desktop-item-edit --create-new /usr/share/applications/
就可以创建你想要的应用程序了
运行gnome-desktop-item-edit /usr/share/applications/xxxx.desktop
就可以编辑你指定的项目
不过可惜的是产生的菜单不能在菜单里面显示
因为没有Categories。希望下一个版本的gnome-panel会有改进。



(原来有人问过,我也简单回答了,这里给出详细的--linuxlover)
发表于 2002-12-11 16:14:53 | 显示全部楼层
感谢,我去试一试!!!
回复

使用道具 举报

 楼主| 发表于 2002-12-12 11:57:17 | 显示全部楼层

最新更新

鉴于有些朋友害怕麻烦,这里给出上文提到的文件简单说明,修改即可看到效果:

[code:1]
... ...
<!-- where desktop files are supposed to live --> '假设文件存在的位置
  <MergeDir>/usr/share/applications</MergeDir>

  <!-- For now, load up the legacy .desktop trees -->
  <MergeDir>/etc/X11/applnk</MergeDir> '合并相关路径,并入/usr/share/applications
  <MergeDir>/usr/share/gnome/apps</MergeDir>
  <MergeDir>/usr/share/applnk</MergeDir>

  <!-- Control panel dirs -->
  <MergeDir>/usr/share/control-center-2.0/capplets/</MergeDir> '合并相关路径
  <MergeDir>/usr/share/gnome/capplets/</MergeDir>

  <DesktopDir>/usr/share/desktop-menu-files</DesktopDir> '指明menu文件的位置

... ...

<!-- Office -->
    <Folder>
      <Name>Office</Name>
      <Desktop>Office.directory</Desktop>
      <Query>
        <And>
          <Keyword>X-Red-Hat-Base</Keyword> '和<转>文内容对照,只在这个主菜单显示
          <Keyword>Application</Keyword> '和<转>文内容对照,对应的是应用程序
          <Or>
            <Keyword>Office</Keyword> '和<转>文内容对照
            <Keyword>Spreadsheet</Keyword> '这是单独新加入的
            <Keyword>WordProcessor</Keyword> '这是单独新加入的
            <Keyword>Calendar</Keyword> '这是单独新加入的
            <Keyword>ProjectManagement</Keyword> '这是单独新加入的
          </Or>      
        </And>
      </Query>

      <DontShowIfEmpty/> '如果没有内容,这个菜单就不出现
    </Folder>
... ...[/code:1]

这里是比较有代表性的一部分,其他部分还需要大家自己参考拉---最终还是要自己动手
回复

使用道具 举报

发表于 2004-2-29 01:22:57 | 显示全部楼层
很好,支持!
回复

使用道具 举报

发表于 2004-7-21 18:00:30 | 显示全部楼层
refuel !
thanks
回复

使用道具 举报

发表于 2004-7-23 21:00:47 | 显示全部楼层
怎样修改fc2中gnome的菜单呢
回复

使用道具 举报

发表于 2004-11-2 14:57:00 | 显示全部楼层
楼主你真是我的偶像
回复

使用道具 举报

发表于 2004-11-2 20:53:38 | 显示全部楼层
好文章,不愧精华!
回复

使用道具 举报

发表于 2004-11-8 01:12:40 | 显示全部楼层
收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-23 02:45 , Processed in 0.087005 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表