关于如何在KDE中添加Kmenu菜单项和如何添加文件关联关系

发表于:2007-07-04来源:作者:点击数: 标签:
关于如何在KDE中添加Kmenu菜单项和如何添加文件关联关系 谢谢各位大侠的帮助,这几天查了一些资料,终于找到了如何更改文件关联关系的方法。 下面对这一问题作个总结,希望对致力于KDE桌面程序 开发 的人员有些帮助. 任务:将自己编制的KDE桌面程序program1

关于如何在KDE中添加Kmenu菜单项和如何添加文件关联关系


谢谢各位大侠的帮助,这几天查了一些资料,终于找到了如何更改文件关联关系的方法。
下面对这一问题作个总结,希望对致力于KDE桌面程序开发的人员有些帮助.

任务:将自己编制的KDE桌面程序program1加入K 

menu的MyProgram目录项中,全部要使用自己的图标。同时将program1对应的文件*.ttt与program1建立关联,使

用户只要点击*.ttt文件就可通过program1将其直接打开。


1. 在K Menu中加入菜单项
   所有用户生成的K菜单项均保存于 /~/.kde/share/applnk-redhat/中
   第一步: 在 /~/.kde/share/applnk-redhat/中新建一个目录/MyProgram。
          注意,这个空目录在Kmenu中是无法显示的。
   第二步: 在 /~/.kde/share/applnk-redhat/MyProgram/中新建一个program1.desktop文件。
            内容如下:
  [Desktop Entry]
                 Comment=                      //对program1的注释
                 Exec=/usr/local/MyProgram/program1  //该菜单项指向的实际程序
                 Icon=/usr/local/MyProgram/program1.png  //该菜单项的图标
                 InitialPreference=2
                 MimeType=application/myprogram.program1;Application //该菜单项所指程序的MimeType  
                 Name=program1       //在Kmenu中显示的名称
                 Path=
                 ServiceTypes=
                 Terminal=false
                 TerminalOptions=
                 Type=Application   //所指文件类型为可执行程序
                 X-KDE-SubstituteUID=false
                 X-KDE-Username=

将文件存盘后就可以在Kmenu中看到名为MyProgram的目录项,其中有一个program1的菜单项,点击program1就可

以打开程序了。但此时这个目录项的图标等还是缺省的,想要定制则要进行第三步.

     第三步: 在/~/.kde/share/applnk-redhat/MyProgram/中还有一个隐藏文件.directory,该文件的格式与
.desktop文件基本相同,修改其中的Icon项就可以加入自己的图标了。



2.建立文件关联关系。
  上面虽然生成了菜单项,但是当用户直接点击*.ttt文件时还是不能直接打开它。要想建立对应的文件关联关系
  需要进行一下步骤:


在/~/.kde/share/mimelnk/application/中新建一个MyProgram.program1.desktop文件
          内容如下
              [Desktop Entry]
              Comment=MyProgram program1
              Encoding=UTF-8
              Hidden=false
              Icon=/usr/share/local/MyProgram/ttt.png  
              MimeType=application/myprogram.program1   //此处定义*.ttt文件的mimetype
              Patterns=*.ttt;*.TTT;
              Type=MimeType  //此desktop文件表示的是MimeType类型的文件
              Version=1.2.2

只要mimetype类型与1中desktop文件设置的一样,就建立起了program1和*.ttt文件的文件关联。



感觉KDE采用的这种方式不是很方便,没有一个统一的配置文件表示什么文件用什么程序打开。具有同一mimetype
的文件可能有两类,一类的类型为mimetype,另一类的类型为application,当用户点击mimetype类型的文件时,
KDE就自动用具有相同MimeType的application类型的程序打开。

 flag 回复于:2003-07-22 15:03:17
有工具kmenuedit可以用啊。不过手动创建还是解决问题最直接的方法。呵呵。

 sakulagi 回复于:2003-07-21 14:07:35
鼓励钻研!!

原文转自:http://www.ltesting.net