Konqueror右键菜单的扩展
创始人
2024-07-21 10:20:42
0

konqueror我用了一段时间感觉还不错,下面给大家介绍点关于Konqueror的知识:如何扩展Konqueror的右键菜单。

  konqueror是kde下的一个多功能资源浏览器,能直接管理硬盘上的文件,浏览网络上的资源,功能强大.而安装了kde3.1的朋友,在konqueror里,对着zip,tar.gz,tar.bz2这些压缩包右键时,会惊喜的发现其中有项"解压到这里..."的选项,通过它可以很方便的解压常见的压缩包.那你有没有想过它是怎么来的呢?你有没有想过根据自己的需要也来扩展这个右键菜单呢?下面简单说一下,希望能起到抛砖引玉的作用.

  1.环境:redhat8.0+非官方的kde3.1升级包,magic1.1beta(自带kde3.1)

  2.打开/usr/share/apps/konqueror/servicemenus这个目录,你会发现下面有不少*.desktop文件,这些文件便是我们今天文章里的主角,就是它们实现"在此打开终端"这些多姿多彩的右键功能的.先看konsolehere.desktop这个文件的内容:

  [Desktop Entry]

  ServiceTypes=inode/directory

  Actions=openTerminalHere

  X-KDE-AuthorizeAction=shell_access

  [Desktop Action openTerminalHere]

  Name=Open Terminal Here

  Name[zh_CN]=在此打开终端

  Icon=konsole

  Exec=konsole --workdir %U

  很明显,它的内容分成两段,其中[Desktop Entry]段

  ServiceTypes=inode/directory #定义此右键菜单项出现的条件,为inode/directory(这个定义可以从konqueror菜单上的"设置---配置konqueror...---文件关联"里看到),也就是说如果当前对象为目录就出现这个选项

  Actions=openTerminalHere #定义此右键菜单项动作的名字

  X-KDE-AuthorizeAction=shell_access #不知道......

  再看[Desktop Action openTerminalHere]段,这里是定义菜单项的名字和图标和相应的动作,注意的是"[Desktop Action openTerminalHere]"这里后面的openTerminalHere和上面的Actions=openTerminalHere相对应

  Name=xxx #定义缺省环境(英文)下菜单项的名字

  Name[xxx]=xxx #定义不同语言环境下菜单项的名字,对中文locale环境,显示的就是Name[zh_CN]里的定义

  Icon=konsole #定义菜单项前面的图标,为/usr/share/icons/当前所用主题/16x16/apps/konsole.png

  Exec=konsole --workdir %U #定义菜单项的执行动作,其中 %U代表当前目录,konsole --workdir %U的意思就是,执行konsole,并将当前鼠标所指目录设定为工作目录

  上面的不复杂,应该不难理解,再看"解压到这里..."功能的实现

  打开arkservicemenu.desktop文件,可看到如下内容:

  [Desktop Entry]

  #Encoding=UTF-8

  ServiceTypes=application/x-gzip,application/x-lha,application/x-tar,......,application/x-archive,application/x-bzip2,application/x-jar

  Actions=Extract

  [Desktop Action Extract]

  Name=Extract Here...

  Name[zh_CN]=解压到这里...

  Exec=ark -extract %U

  也不复杂,我大概说说.

  Encoding=UTF-8 #表示下面的Name段所用的字符编码都是utf8(如果你使用其他编码,譬如gbk,最好将这行去掉)

  ServiceTypes=application/x-gzip,......,application/x-jar

  #同样,你可以在konqueror的"设置---配置konqueror...---文件关联"管理里看到类似的Types定义,也就是定义了如果鼠标所指当前对象属于上面定义的文件类型,那么就显示此项菜单

  Exec=ark -extract %U#定义执行ark -extract命令,将文件解压到当前目录(%U)下

  3.下面就让我们自己写一个desktop文件,来实现右键就可以将任意文件当作附件用kmail发送的功能(对于使用kmail的朋友,这个功能还是挺方便的)

  在/usr/share/apps/konqueror/servicemenus下建立一个叫kmail.desktop(名字随意起,后缀为desktop就行)的文件,内容该怎样写呢?让我们考虑一下

  首先,确定kmail的附件功能命令是什么.开一个终端,执行kmail -help指令,可以知道用kmail --attach 命令可以将url所指的文件当作附件发送来启动kmail.

  然后,我们需要的功能是对着任意文件(不包括目录),右键就出现相应菜单,那么,这个"任意文件"对象怎么设置呢,通过在konqueror菜单上的"设置---配置konqueror...---文件关联"选项,我们可以知道,"所有文件"的Type定义是all/allfiles,因此,应该有ServiceTypes=all/allfiles定义

  确定了这两点,编写这个kmail.desktop就不是难事了,内容如下:

  [Desktop Entry]

  ServiceTypes=all/allfiles

  Actions=Mail

  [Desktop Action Mail]

  Name=Mail this file to...

  Name[zh_CN]=将文件当作附件发送

  Icon=kmail #使用/usr/share/icons/当前所用主题/16x16/apps/kmail.png作为图标

  Exec=kmail --attach %u #%u代表当前鼠标选中的对象

  保存一下,现在,试试右键任意konqueror里的任意文件,右键是否就有"将文件当作附件发送"的选项,选中它试试,够神奇吧!

  4./usr/share/apps/konqueror/servicemenus目录下还有不少文件,定义包括光驱图标的右键"弹出""加载"菜单功能等,好好将它们研究一下,能学会不少东西

  只有想不到,没有做不到;充分发挥你的想象力,祝你写出不少精彩的右键功能出来!

阅读完整篇文章,是不是很神奇,更多右键功能就在你手边!

【编辑推荐】

  • Konqueror简单介绍
  • 嵌入式浏览器Konqueror的技术分析
  • 我教你修改konqueror工具栏
  • 让我的konqueror显示中文网页
  • Konqueror 特殊超能力
  • 图文并茂 Konqueror让你一看就精通
  • 深入了解 Konqueror/embedded的编译和安装的过程
  • Opera快速拨号引入Konqueror方法

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...